1:在web.xml中定义listener
<listener>
<listener-class>com.BeanListener</listener-class>
</listener>
2:在BeanListener.java中定义
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
public class BeanListener implements ServletContextListener {
private static WebApplicationContext context;
public void contextDestroyed(ServletContextEvent servletContextEvent) {
}
public void contextInitialized(ServletContextEvent servletContextEvent) {
context = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContextEvent.getServletContext());
}
public static Object getBean(String beanName) {
return context.getBean(beanName);
}
}
分享到:
相关推荐
### 获取Spring容器的方法详解 在Java开发中,Spring框架因其强大的依赖注入(Dependency Injection, DI)和面向切面编程(Aspect Oriented Programming, AOP)功能而被广泛使用。掌握如何获取Spring容器对于管理和...
我们经常需要在各种组件中使用Spring容器中定义的bean。特别地,在JSP页面中,有时候也可能会需要获取和使用这些bean。下面将详细介绍在JSP页面中获取Spring容器中bean的两种方法。 ### 方法一:在Web应用中使用 ...
Spring IOC 控制反转:把创建对象的权利交给Spring 创建对象 1.... 2.... 3.... ClassPathXmlApplicationContext:使用这个...在Servlet中使用WebApplicationContextUtils获取容器对象 5.使用容器对象去获取Service对象
**6.4.1 利用Struts的PlugIn来启动Spring容器** 在整合过程中,Spring通常不会直接参与到Struts的Action实例化中。相反,Struts使用插件(PlugIn)机制来启动Spring容器。有两种方法创建Spring容器: 1. **直接在...
1. **配置Spring容器**:在Web应用启动时加载Spring容器,并指定Spring配置文件的位置。 2. **定义SpringFactory**:自定义一个SpringFactory类,用于创建和管理Spring容器中的Bean实例。 3. **配置FlexServices**:...
监听器如 ContextLoaderListener 在项目启动时加载 Spring 配置文件并保存到 application 对象中,WebApplicationContextUtils 可以从 application 对象中获取 Spring 上下文。 【Spring 与 Hibernate 整合】 ...
8. **Spring Test**:Spring 2.0提供了集成测试支持,包括`MockMVC`和`WebApplicationContextUtils`等工具,帮助开发者编写单元测试和集成测试,确保代码质量。 9. **portlet支持**:Spring 2.0开始支持portlet开发...
总结,Spring 3.07 通过其核心概念如 DI、AOP、IoC 容器、数据访问支持、MVC 框架和测试工具,为开发者提供了强大的后盾。通过源码阅读,我们可以更深入地理解这些机制的内部工作原理,从而更好地利用 Spring 框架...
3. **访问方式**:`<context-param>`的值可以通过`ApplicationContext`获取,如`@Value`注解或`WebApplicationContextUtils`工具类;`<init-param>`的值通常在Servlet或Filter的`init()`方法中通过`ServletConfig`或...
首先,我们理解Spring容器,即ApplicationContext,它是管理Bean的核心组件。它负责读取配置文件(如XML或Java配置),创建并初始化Bean,以及维护它们之间的依赖关系。在Web应用中,Spring通常会创建一个...
同样需要配置`ContextLoaderListener`来初始化Spring容器。Action对象的获取依然需要编程式地从Spring容器中获取。 对于如何在Struts中使用Spring注入的Bean,可以通过覆盖`Action`类的`setServlet`方法,利用`...
- **解释**: 通过 Spring IoC 容器,开发者可以将对象的创建、依赖注入以及生命周期管理等工作交给 Spring 容器来完成。这样做的好处是可以减少代码间的耦合度,提高系统的可维护性和可扩展性。例如,当依赖项发生...
首先,依赖注入是Spring的核心特性,允许对象之间的关系在运行时被外部容器管理,而不是硬编码在类内部。Spring 3.1.0引入了更强大的注解配置支持,使得开发者可以通过注解轻松地声明依赖关系,减少了XML配置的复杂...
#### 一、核心容器(Spring Core) **核心容器**提供了Spring框架的基础功能,通过Bean的方式组织和管理Java应用中的各种组件及其之间的关系。在Spring框架中,Bean Factory扮演着核心角色,它实现了工厂模式,用于...
但是有一些部分自己没有能完成,主要是如何从spring容器里取出ApplicationContext,这个我的实现比较low,看了看讲义,才OK的。 我的实现: [java] view plain copy WebApplicationContext acc = ...
在Web应用中,`ContextLoaderListener`创建的是一个`WebApplicationContext`,这是专门为Web环境设计的ApplicationContext子类,它能与Servlet容器进行更紧密的集成。 2. **配置加载**:`ContextLoaderListener`...
1. **配置Spring容器**:首先需要将 Quartz 的相关组件注册到 Spring 容器中。这一步主要是为了让 Spring 能够管理 Quartz 的各种对象,如 `Scheduler`、`JobDetail` 和 `Trigger` 等。 2. **定义任务和触发器**:...
`lookup`方法则负责实际的bean查找工作,通过`SpringFactoryInstance`的`lookup`方法调用Spring容器的`WebApplicationContextUtils`来获取bean。 接下来,`SpringFactoryInstance`类扩展了`FactoryInstance`,它...
简单的说,在web容器中,通过ServletContext为Spring的IOC容器提供宿主环境,对应的建立起一个IOC容器的体系。其中,首先需要建立的是根上下文,这个上下文持有的对象可以有业务对象,数据存取对象,资源,事物管理...