在web应用中创建spring容器有以下两种方式:
1) 直接在web.xml文件中配置spring容器
2)利用MVC框架扩展点,创建spring容器
一、直接在web.xml文件中配置spring容器
ServletContextListener监听器可以在web应用启动时回调自定义方法——该方法就可以启动spring容器。
Spring提供了一个ContextLoaderListener,改监听器实现了ServletContextListener接口。该类可以作为Listener使用,它会在创建时自动查询WEB-INF/下的applicationContext.xml,因此,如果只有一个配置文件,并且文件名为applicationContext.xml,则只需在web.xml中增加人如下配置片段即可:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
如果有多个配置文件需要加载,则考虑使用<context-pararm.../>元素来确定文件的文件名,ContextLoaderListener加载时,会查找名为contextConfigLocation的初始化参数,因此,配置<context-pararm.../>时应指定参数名为contextConfigLocation。
带多个配置文件的web.xml配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- 多个配置文件中间用逗号分隔 -->
<param-value>/WEB-INF/config/web-application-config.xml
,/WEB-INF/config/daoContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
Spring根据指定的配置文件创建WebApplicationContext对象,并将其保存在web应用的ServletContext中,如果需要在应用中获取ApplicaitonContext对象,则通过以下代码获取:
//获取当前web应用启动的spring容器
WebApplicationContext ctx
= WebApplicationContextUtils.getWebApplicationContext(servletContext);
相关推荐
spring容器启动和关闭时事件监听;spring容器启动和关闭时事件监听;spring容器启动和关闭时事件监听
然而,在某些情况下,我们可能需要在非Spring注解的类中访问Spring容器中的Bean,或者在这些类中使用YAML配置文件中的配置信息。本篇将详细介绍如何在这样的场景下实现这一目标。 首先,让我们来理解如何在非Spring...
该方法会在web容器中被调用,以便启动spring容器。在contextInitialized()方法中,会调用initWebApplicationContext()方法,以便初始化spring容器。该方法会检查是否已经存在根应用程序上下文,如果不存在,则创建一...
1. Spring容器的启动流程 2. 循环依赖 3. Spring 中Bean的创建 4. Spring 方法xmind脑图
* lazy-init为“default/false”当启动spring容器的时候创建bean 但是如果该bean是prototype时,特殊。这种情况无效 * 在spring容器启动的时候,就会发现错误 * 有可能会造成一些数据长时间驻留在内存中 * lazy...
基于接口、抽象类实现不停机动态调整代码的目的,将修改后的源码文件放置于指定目录下,读取文件后执行动态编译方法,即可将该类重新加载,新的类可以在Spring容器从新注册,且仅在当前窗口生效。如果重启了服务或...
这样,在Spring容器启动时,它会自动调用`setApplicationContext`方法,将`ApplicationContext`实例注入到实现了`ApplicationContextAware`的类中。 ### 结论 选择哪种方法获取Spring容器主要取决于具体的应用场景...
Spring IOC 容器启动流程分析 Spring IOC 容器是 Java 企业级应用程序的核心组件之一,它提供了一个统一的依赖注入机制,使得应用程序的组件之间能够松耦合。Spring IOC 容器的启动流程是整个 Spring 框架的核心...
在这种方案中,我们通过在 `struts-config.xml` 文件中添加 `ContextLoaderPlugIn` 类来启动 Spring 的 IOC 容器。`ContextLoaderPlugIn` 是 Spring 提供的一个插件,它会在 Struts 应用启动时自动加载 `...
5. **启动Spring容器:** 创建一个主应用类,使用`@SpringBootApplication`注解启动Spring Boot应用。Spring容器会自动扫描指定包下的注解,创建并管理bean。 6. **运行示例:** 当应用程序运行时,Spring容器会...
在Spring05_Spring容器入门.wmv这个视频中,你可能会学习到如何创建Spring配置文件,定义bean的属性,以及如何启动Spring容器并从中获取bean实例。理解Spring容器的工作原理和API使用是掌握Spring框架的关键。 总的...
**6.4.1 利用Struts的PlugIn来启动Spring容器** 在整合过程中,Spring通常不会直接参与到Struts的Action实例化中。相反,Struts使用插件(PlugIn)机制来启动Spring容器。有两种方法创建Spring容器: 1. **直接在...
Spring 容器启动流程
BeanFactoryPostProcessor接口是Spring框架提供的一个接口,用于扩展Spring容器的功能。该接口只有一个方法`postProcessBeanFactory`,该方法在容器加载完成之后被调用,可以用来改变容器中的配置或做一些初始化工作...
4. **加载配置并启动Spring容器**:在Java代码中,我们需要使用`ClassPathXmlApplicationContext`或`FileSystemXmlApplicationContext`加载配置文件,启动Spring容器。例如: ```java ApplicationContext context...
1. **简单应用示例**:展示一个基础的Spring配置,如何启动Spring容器并运行一个简单的Hello World程序。 2. **IoC实践**:包含各种Bean的定义和注入方式的代码实例,比如单例、原型、工厂bean等。 3. **AOP示例**...
至于“使用在独立环境中去加载和使用spring容器”,这通常指的是在不依赖于任何Web服务器或应用服务器的情况下,直接启动Spring容器并运行应用程序。这可以通过使用`ApplicationContext`来实现,如`...
在"spring-hello"这个子文件中,很可能是演示了Spring框架的基本使用,例如创建一个简单的Hello World应用程序,展示如何配置和启动Spring容器,以及如何定义和注入Bean。这样的示例对于初学者来说是非常有帮助的,...
- **组件扫描**:Spring 容器启动后会扫描指定包下的所有类,如果类前有 `@Component` 等注解,则会将其纳入容器管理。 - **其他相关注解**: - `@Autowired` 和 `@Qualifier`:支持 setter 或构造器注入,用于...
+ 启动 Spring 容器加载配置文件,实例化其中配置好的对象,并按照指定的名字存在 Spring 容器中 BeanFactory 和 ApplicationContext * BeanFactory:延迟加载,使用 bean 时才进行初始化 * ApplicationContext:...