为了避免手动创建BeanFactory,spring在开启contextListener后会将beanFactory放入servletContext中。
具体操作步骤如下:
1、在web.xml中加入如下配置:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext-*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
2、其实此时如果仅用action之类的,完全可以不管BeanFactory的创建或者调用了,因为spring会自动去管理了。
但是假如我们自己写了一个POJO需要引用spring中的bean时,就还得必须引用beanFactory了,引用方法也相当简单,见如下语句:
BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
=====================================================
注:在application下加载beanfactory的语句:
BeanFactory factory=new ClassPathXmlApplicationContext("SpringHelloWorld.xml");
相关推荐
值得注意的是,在Web应用中,通常推荐使用ServletContextListener来初始化ApplicationContext,并将其存储在ServletContext中供整个应用使用。这样可以更加高效和方便地管理ApplicationContext的生命周期,并且能够...
Spring的IOC容器主要有两种类型:BeanFactory和ApplicationContext。BeanFactory是最基础的容器,它实现了基本的IOC功能,如加载和管理Bean的定义。BeanDefinition是Spring中用于描述Bean实例的关键数据结构,包含了...
15. `org.springframework.web.context`:Web应用上下文相关类,扩展了`org.springframework.context`,增加了ServletContext的访问。 16. `org.springframework.web.multipart`:处理多部分(multipart)请求,如...
BeanFactory factory = new XmlBeanFactory(resource); ``` 4. **使用`ClassPathXmlApplicationContext`**:这是加载应用上下文的常用方式之一。可以指定类路径下的配置文件位置: ```java ApplicationContext ...
BeanFactory是Spring IoC容器的基础,提供了基本的依赖注入支持。而ApplicationContext是BeanFactory的子接口,除了继承BeanFactory的所有功能外,还提供了一些企业级的支持,例如消息源、资源加载和国际化支持。 ...
例如,我们可以从classpath路径下加载"spring.xml",然后通过`beanFactory.getBean()`获取Bean实例。 在Web环境下,Spring提供两种方式加载容器:ContextLoaderServlet和ContextLoaderListener。...
简单的说,在web容器中,通过ServletContext为Spring的IOC容器提供宿主环境,对应的建立起一个IOC容器的体系。其中,首先需要建立的是根上下文,这个上下文持有的对象可以有业务对象,数据存取对象,资源,事物管理...
`beans`包中的`BeanFactory`是Spring IoC容器的基础,它负责管理对象的生命周期和依赖关系。通过`BeanFactory`,开发者可以实现依赖注入,使得对象间的耦合度降低,提高代码的可测试性和可维护性。`...
import org.springframework.beans.factory.BeanFactory; import flex.messaging.FactoryInstance; import flex.messaging.FlexFactory; import flex.messaging.config.ConfigMap; import flex.messaging.services....
3. **获取BeanFactory**:在Action的execute方法中,通过`WebApplicationContextUtils`工具类获取ServletContext中的BeanFactory。 4. **获取业务逻辑对象**:从BeanFactory中根据Bean ID获取对应的业务逻辑对象,...
- **知识点**: `ApplicationContext` 是 Spring 框架中用于管理 Bean 的核心接口之一,它提供了比 `BeanFactory` 更丰富的功能。 - **解释**: `ApplicationContext` 接口不仅实现了 `BeanFactory` 的功能,还增加了...
3.8.1. BeanFactory 还是 ApplicationContext? 3.8.2. 利用MessageSource实现国际化 3.8.3. 事件 3.8.4. 底层资源的访问 3.8.5. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.10....
3.8.1. BeanFactory 还是 ApplicationContext? 3.8.2. 利用MessageSource实现国际化 3.8.3. 事件 3.8.4. 底层资源的访问 3.8.5. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.10....
由于`ServletContext`和`ServletConfig`均为空,所以这个方法执行起来相当于空操作。 - `WebApplicationContextUtils.initServletPropertySources(MutablePropertySources, null, null)`:同上,也因为参数为空而被...
- 核心容器(Core Container):包括Bean工厂(BeanFactory)和ApplicationContext,是整个框架的基础,负责管理Bean的生命周期和依赖关系。 - AOP模块:提供了面向切面编程的支持,允许在不修改代码的情况下,...
`ApplicationContext`是Spring框架的核心组件,它是Bean工厂(`BeanFactory`)的扩展,提供了更多高级特性,如国际化支持、事件发布、AOP代理等。通常,我们可以通过XML配置文件、注解或Java配置类来创建`...
例如,在 BeanFactory 中,Spring 使用模版模式来实现 Bean 的实例化和依赖关系的处理。 模版模式的优点是:它可以使得系统更加灵活和可扩展。例如,我们可以使用模版模式来实现不同的 Bean 创建策略,从而满足不同...
BeanFactory BeanFactoryAspectInstanceFactory BeanFactoryAspectInstanceFactory BeanFactoryAware BeanFactoryDataSourceLookup BeanFactoryLocator BeanFactoryPostProcessor BeanFactoryReference ...
Spring还提供了ConfigurableApplicationContext接口,扩展了ConfigurableBeanFactory,适用于需要更强大配置功能的应用场景,如WebApplicationContext,专门用于Web应用,它与Servlet容器集成,提供了访问...