我正在使用Hibernate和Spring在Apache Tomcat 6上开发一个Web应用程序,我使用不同的XML配置文件来定义我的Spring bean(比如Hibernate DAO,Quartz调度程序和其他一些东西)。所有这些文件都是通过web.xml(ContextLoaderListener)在Tomcat启动时加载的。
现在我不确定访问我的bean的推荐方法是什么。
我应该在为所有应该使用bean的类提供BeanFactory的类上编写,还是在每个类中加载BeanFactory的更好方法。
BeanFactory bf = (BeanFactory) ContextLoader.getCurrentWebApplicationContext();
答案 0 :(得分:1)
spring框架的核心思想之一是尽量减少类之间的依赖关系。通过在整个项目中使用此概念,您将获得最大的收益。每个后端对象都应该定义为bean,因此可以使用依赖注入自动化。
如果您的某些Beans需要直接访问ApplicationContext(例如,要求所有Bean实现某些标记接口),您可以实现ApplicationContextAware接口,因此仍然不需要工厂。
答案 1 :(得分:0)
改为使用依赖注入。创造吸气者&amp;每个控制器类中的setter,并使用* -servlet.xml通过<property>
标记注入所需的bean。不需要工厂!