获取spring 上下文的几种方法:
1. 通过配置文件获取:
ApplicationContext ac=new ClassPathXmlApplicationContext("spring-jpa-hibernate.xml"); SqlDao sQLDaoBean = (SqlDao)ac.getBean("sqlDaoBean");
2. 通过servletcontext获取:
例如在listener中获取:
public class DataDictionaryListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent arg0) { WebApplicationContext rwp = WebApplicationContextUtils.getRequiredWebApplicationContext(arg0.getServletContext()); SqlDao sqlDaoBean = (SqlDao)rwp.getBean("sqlDaoBean"); arg0.getServletContext().setAttribute("DataDictioary", sqlDaoBean.loadDataDictionary()); System.out.println("DataDictioary is loaded"); } @Override public void contextDestroyed(ServletContextEvent arg0) { } }
但是前提是web.xml中要先注入org.springframework.web.context.ContextLoaderListener
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <context-param> <!-- location of spring config --> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-jpa-hibernate.xml</param-value> </context-param> <!-- initialize spring context--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- load data dictionary --> <listener> <listener-class>com.myproject.example.common.listener.DataDictionaryListener</listener-class> </listener> </web-app>
相关推荐
当需要在线程中获取Spring注解的bean时,有几种常见的方法: 1. **ThreadLocal**:Spring提供了一种名为`ThreadLocalTargetSource`的特殊`TargetSource`实现,可以将bean实例绑定到当前线程。这样,每个线程都有其...
本文将总结 Spring 应用上下文获取 Bean 的常用姿势实例,并对其实现方法和操作注意事项进行详细的分析和讲解。 一、从应用程序上下文中获取 Bean 在 Spring 框架中,有多种方式可以获取 Bean 对象。下面我们将...
在 Spring 中,ApplicationContext 是一个至关重要的接口,它是应用上下文的实现,负责管理bean的生命周期和装配。标题提到的“ClassPathXmlApplicationContext”是 Spring 提供的三种 ApplicationContext 实现之一...
根据不同的应用场景,可以定义以下几种类型的方法: - **简单方法**:最基础的方法类型,用于处理简单的请求。 - **带命名参数的简单方法**:通过命名参数来更灵活地传递数据。 - **轮询方法**:对于需要实时或定时...
有以下几种方法: 1. **直接加载beans.xml文件** 这种方法是直接使用`ClassPathXmlApplicationContext`来加载配置文件,然后从上下文(ApplicationContext)中获取bean。例如: ```java ApplicationContext ...
获取客户端 IP 地址在 Spring 中主要有以下几种方法: 1. **HttpServletRequest**: Spring MVC 中的 Controller 方法参数可以直接接受 `HttpServletRequest` 对象,然后通过 `request.getRemoteAddr()` 来获取 IP ...
1. **使用Spring的ActionSupport**:Action类直接继承自Spring的ActionSupport,通过`super.getWebApplicationContext()`获取Spring上下文,然后通过`ApplicationContext.getBean()`获取bean。这种方式简单,但...
"spring-context.jar"则进一步扩展了Bean工厂,提供了应用程序上下文,使得我们可以从容器中获取bean,同时也支持事件发布、国际化等功能。 4. **spring-test**: 这个部分是Spring提供的测试支持,包括"spring-test...
Spring的内部bean是指在另一个bean的属性中定义的bean,它仅在包含它的外部bean的上下文中存在。 22、什么是spring装配。 Spring装配是指将对象组装到一起,并设置它们之间的依赖关系的过程。 23、自动装配有哪些...
6. **Spring Web**:提供了面向Web开发的支持,包括Web应用程序上下文和Servlet listeners等。 7. **Spring Web MVC**:实现了MVC设计模式,用于构建Web应用程序。 ### Spring框架的扩展 随着技术的发展,Spring...
十七、Spring MVC如何取得Spring管理的bean:阐述了如何在Spring MVC中获取Spring容器管理的Bean,以便进行业务处理。 十八、Spring MVC多视图控制器:解释了如何配置和使用Spring MVC的多视图控制器来处理不同的...
Spring IOC 中依赖注入有几种方式? - **知识点**: Spring 支持多种依赖注入的方式,主要包括:属性注入、构造器注入和工厂方法注入。 - **解释**: - **属性注入**:通过 setter 方法进行依赖注入,这种方式比较...
- `SecurityContextPersistenceFilter`: 保存和恢复用户的Security Context(安全上下文)。 - `UsernamePasswordAuthenticationFilter`: 处理用户名和密码的登录请求。 - `LogoutFilter`: 实现用户登出功能。 -...
7. ** ApplicationContext**:Spring应用上下文是IOC容器的实现,提供了获取Bean、事件发布等功能。`TestSpringIoc`可能创建ApplicationContext实例,并通过它来获取和操作Bean。 通过`TestSpringIoc`的测试,我们...
3. **加载Spring上下文**:在RCP应用启动时,需要加载Spring配置文件,创建ApplicationContext。这通常在RCP应用的启动类或者初始化方法中完成。 4. **注入Spring Bean**:在RCP组件(如ViewPart或EditorPart)中,...
`SecurityContextHolder` 类提供了获取和设置安全上下文的方法,通常通过 `SecurityContextHolder.MODE_INHERITABLETHREADLOCAL` 模式在多线程环境中传播。 **6. ** **用户详情服务(UserDetailsService)** 用户...
- **代理模式**:使用代理模式来替代Struts默认的Action实例创建机制,通过Spring上下文获取Action实例,而非直接使用new关键字。 - **Struts与Spring整合的注意事项**: - 避免直接在Action类中访问Spring上...