我们正在将当前项目迁移到 Java EE 6(以后可能是 7),并在此过程中了解 Java EE 世界在过去 5 年中发生的事情。我们现在有组织和逻辑问题要解决。
我们创建了单独的实用程序库来处理 l10n、日期、货币转换等。这个库 (jar) 将在我们的本地 maven 存储库 (nexus) 上,其他项目和模块将在需要时使用它。
我们的部分团队成员喜欢(新的)管理的做事方式:
@Inject
DateFormatter df;
如果我们放入我们的库类@Singleton
,我们就不必编写static
数百次。
但是,团队的其他部分认为老派的方式是你这样做的方式:
...
DateFormatter df = new DateFormatter();
String localizedDate = df.localize('2013-10-01')
...
@Inject
主要是因为它对于像 Regex、字符串实用程序和类似的实用程序类这样的东西似乎不自然,它们在整个服务类中不需要,只有在某些方法中才需要。
而且,当然,您似乎两者都可以做到,如果您尝试使用@Inject
已经在其他地方通过 启动的同一类new
,您将NullPointerException
进入 JBOSS AS 7。
那么,我们应该怎么做呢?有没有办法让它同时使用两种方式,如果没有,你会推荐吗?
提前致谢!