我正在开发一个机器学习库,我需要一个秒表来测量方法的执行时间。事实证明 Spring 有一个不错的选择,但是将 Spring 用于非 Web 项目是否有意义?好的一面当然是重用代码,但有什么缺点吗?
谢谢
Spring
不仅仅是为 Web 应用程序而设计的。Spring MVC
是您通常用于 Web 应用程序的基于请求的框架。现在,如果您只想要stopwatch
实用程序,没有什么能阻止您只spring-core
在项目中包含 jar。
Spring 不是一个 Web 框架。Spring MVC 子项目是。Spring 还支持多种其他 Web 框架。
话虽如此,您可以在桌面独立应用程序中自由使用 Spring IoC、AOP、持久性等。我每天都这样做。
我已经看到一些 Apache 项目从其他 Apache 项目中克隆了一些方法(或类),只是为了避免在需要非常特定的功能时添加 jar 依赖项。
包含 spring 的替代方法可能是使用更通用的库。这里提出的两个建议是 Google Guava 和 Apache Commons Lang。我两者都用,在这些项目中找到其他有用的通用实用程序的几率很高。