【发布时间】:2014-10-10 11:50:16
【问题描述】:
我曾经有机会使用 spring 只做一个项目,它的工作方式是
- 创建一个单例类(比如说 MySpringHelper),它具有 getBean(String beanName) 之类的方法
- getBean(String) 的作用是,它首先检查 applicationContext 是否存在,如果存在则使用相同的获取 bean,否则创建新的 applicationContext 并返回 bean
- 无论您在项目中的何处需要一个 bean,只需调用 MySpringHelper.getBean("abc")
记住这一点,当我学习spring时,我注意到接口“ApplicationContextAware”......我不确定什么时候需要这个,使用上述模式这样的接口似乎没有任何用处。还是上面的 Singleton MySpringHelper 模式/方法不正确??
期待从您的经验中学习
为了提供更多关于应用程序的细节,它就像一个 pdf 文件生成器,1 个 pdf 文件有 12-15 个不同的图表,所以 main 方法为每个图表运行 1 个线程,在这些图表逻辑中我们使用单例 MySpringHelper
【问题讨论】:
-
当你可以自动执行应用上下文时,为什么还要手动执行?
-
您的字符串类型解决方案不需要强制转换吗?也许你至少可以做类似
MySpringHelper.getBean(ABC.class)的事情?或者使用 Spring 的自动装配功能...