在Apache Tomcat webapp中访问Spring bean的推荐方法是什么?

时间:2010-06-29 05:49:58

标签: spring web-applications tomcat

我正在使用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();

2 个答案:

答案 0 :(得分:1)

spring框架的核心思想之一是尽量减少类之间的依赖关系。通过在整个项目中使用此概念,您将获得最大的收益。每个后端对象都应该定义为bean,因此可以使用依赖注入自动化。

如果您的某些Beans需要直接访问ApplicationContext(例如,要求所有Bean实现某些标记接口),您可以实现ApplicationContextAware接口,因此仍然不需要工厂。

答案 1 :(得分:0)

改为使用依赖注入。创造吸气者&amp;每个控制器类中的setter,并使用* -servlet.xml通过<property>标记注入所需的bean。不需要工厂!