`

获取spring 上下文的几种方法

 
阅读更多

获取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 的常用姿势实例总结

    本文将总结 Spring 应用上下文获取 Bean 的常用姿势实例,并对其实现方法和操作注意事项进行详细的分析和讲解。 一、从应用程序上下文中获取 Bean 在 Spring 框架中,有多种方式可以获取 Bean 对象。下面我们将...

    线程中获取spring 注解bean

    当需要在线程中获取Spring注解的bean时,有几种常见的方法: 1. **ThreadLocal**:Spring提供了一种名为`ThreadLocalTargetSource`的特殊`TargetSource`实现,可以将bean实例绑定到当前线程。这样,每个线程都有其...

    spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext

    在 Spring 中,ApplicationContext 是一个至关重要的接口,它是应用上下文的实现,负责管理bean的生命周期和装配。标题提到的“ClassPathXmlApplicationContext”是 Spring 提供的三种 ApplicationContext 实现之一...

    Ext Direct Spring 参考手册

    根据不同的应用场景,可以定义以下几种类型的方法: - **简单方法**:最基础的方法类型,用于处理简单的请求。 - **带命名参数的简单方法**:通过命名参数来更灵活地传递数据。 - **轮询方法**:对于需要实时或定时...

    监听器获取Spring配置文件的方法

    有以下几种方法: 1. **直接加载beans.xml文件** 这种方法是直接使用`ClassPathXmlApplicationContext`来加载配置文件,然后从上下文(ApplicationContext)中获取bean。例如: ```java ApplicationContext ...

    spring,获取IP精选.doc

    获取客户端 IP 地址在 Spring 中主要有以下几种方法: 1. **HttpServletRequest**: Spring MVC 中的 Controller 方法参数可以直接接受 `HttpServletRequest` 对象,然后通过 `request.getRemoteAddr()` 来获取 IP ...

    struts+spring+hibernate三大框架整合

    1. **使用Spring的ActionSupport**:Action类直接继承自Spring的ActionSupport,通过`super.getWebApplicationContext()`获取Spring上下文,然后通过`ApplicationContext.getBean()`获取bean。这种方式简单,但...

    spring4.3.3.zip

    "spring-context.jar"则进一步扩展了Bean工厂,提供了应用程序上下文,使得我们可以从容器中获取bean,同时也支持事件发布、国际化等功能。 4. **spring-test**: 这个部分是Spring提供的测试支持,包括"spring-test...

    Spring系列面试题129道(附答案解析)

    Spring的内部bean是指在另一个bean的属性中定义的bean,它仅在包含它的外部bean的上下文中存在。 22、什么是spring装配。 Spring装配是指将对象组装到一起,并设置它们之间的依赖关系的过程。 23、自动装配有哪些...

    【狂神说】Spring全面详细笔记.md

    6. **Spring Web**:提供了面向Web开发的支持,包括Web应用程序上下文和Servlet listeners等。 7. **Spring Web MVC**:实现了MVC设计模式,用于构建Web应用程序。 ### Spring框架的扩展 随着技术的发展,Spring...

    Spring MVC 教程快速入门 深入分析

    十七、Spring MVC如何取得Spring管理的bean:阐述了如何在Spring MVC中获取Spring容器管理的Bean,以便进行业务处理。 十八、Spring MVC多视图控制器:解释了如何配置和使用Spring MVC的多视图控制器来处理不同的...

    Spring基础面试

    Spring IOC 中依赖注入有几种方式? - **知识点**: Spring 支持多种依赖注入的方式,主要包括:属性注入、构造器注入和工厂方法注入。 - **解释**: - **属性注入**:通过 setter 方法进行依赖注入,这种方式比较...

    springsecurity

    - `SecurityContextPersistenceFilter`: 保存和恢复用户的Security Context(安全上下文)。 - `UsernamePasswordAuthenticationFilter`: 处理用户名和密码的登录请求。 - `LogoutFilter`: 实现用户登出功能。 -...

    SpringIoc示例代码

    7. ** ApplicationContext**:Spring应用上下文是IOC容器的实现,提供了获取Bean、事件发布等功能。`TestSpringIoc`可能创建ApplicationContext实例,并通过它来获取和操作Bean。 通过`TestSpringIoc`的测试,我们...

    rcp与spring集成的一个简单例子

    3. **加载Spring上下文**:在RCP应用启动时,需要加载Spring配置文件,创建ApplicationContext。这通常在RCP应用的启动类或者初始化方法中完成。 4. **注入Spring Bean**:在RCP组件(如ViewPart或EditorPart)中,...

    Spring Security tutorial 学习笔记(一)

    `SecurityContextHolder` 类提供了获取和设置安全上下文的方法,通常通过 `SecurityContextHolder.MODE_INHERITABLETHREADLOCAL` 模式在多线程环境中传播。 **6. ** **用户详情服务(UserDetailsService)** 用户...

    SSH整合 struts+hibernate+spring

    - **代理模式**:使用代理模式来替代Struts默认的Action实例创建机制,通过Spring上下文获取Action实例,而非直接使用new关键字。 - **Struts与Spring整合的注意事项**: - 避免直接在Action类中访问Spring上...

Global site tag (gtag.js) - Google Analytics