`

在普通的java类中获得spring上下文

    博客分类:
  • JBPM
阅读更多
 package org.company.xxx;
 
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
 * 获取spring容器,以访问容器中定义的其他bean
 */
public class SpringContextUtil implements ApplicationContextAware {
 
	// Spring应用上下文环境
	private static ApplicationContext applicationContext;
 
	/**
	 * 实现ApplicationContextAware接口的回调方法,设置上下文环境
	 */
	public void setApplicationContext(ApplicationContext applicationContext)throws BeansException  {
		SpringContextUtil.applicationContext = applicationContext;
	}
 
	public static ApplicationContext getApplicationContext() {
		return applicationContext;
	}
 
	/**
	 * 获取对象
	 * 这里重写了bean方法,起主要作用
	 * @param name
	 * @return Object 一个以所给名字注册的bean的实例
	 * @throws BeansException
	 */
	public static Object getBean(String beanId) throws BeansException {
		return applicationContext.getBean(beanId);
	}
}
 Bean配置:
<bean id="SpringContextUtil" class="org.company.xxx.SpringContextUtil" />
 实现了ApplicationContextAware接口,在Bean的实例化时会自动调用setApplicationContext()方法!
分享到:
评论

相关推荐

    spring源代码解析

    对于一个Spring激活的web应用程序,可以通过使用Spring代码声明式的指定在web应用程序启动时载入应用程序上下文(WebApplicationContext),Spring的ContextLoader是提供这样性能的类,我们可以使用 ...

    spring.net中文手册在线版

    19.2.自动装载应用程序上下文和应用程序上下文嵌套 19.2.1. 配置 19.2.2.上下文嵌套 19.3.为ASP.NET页面进行依赖注入 19.3.1.为Web控件进行依赖注入 19.4.Master Page 19.4.1.将子页面与Master Page关联 19.5.双向...

    Spring与Web环境集成.pdf

    为了解决这些弊端,我们可以使用ServletContextListener监听Web应用的启动,在Web应用启动时加载Spring的配置文件,创建应用上下文对象ApplicationContext,并将其存储到ServletContext域中。这样,我们就可以在任意...

    Spring攻略(第二版 中文高清版).part1

    13.4 管理集成测试中的应用上下文 520 13.4.1 问题 520 13.4.2 解决方案 520 13.4.3 工作原理 521 13.5 向集成测试注入测试夹具 526 13.5.1 问题 526 13.5.2 解决方案 526 13.5.3 工作原理 527 13.6...

    spring配置全书.doc

    一旦你开发了基于Spring的应用程序,在Spring上下文配置的那些资源简直就是唾手可得。 依赖注入是Spring容器的核心 尽管Spring Framework可以做很多事,但依赖注入却是Spring容器提供的最基本的功能。 任何...

    Spring攻略(第二版 中文高清版).part2

    13.4 管理集成测试中的应用上下文 520 13.4.1 问题 520 13.4.2 解决方案 520 13.4.3 工作原理 521 13.5 向集成测试注入测试夹具 526 13.5.1 问题 526 13.5.2 解决方案 526 13.5.3 工作原理 527 13.6...

    JAVA上百实例源码以及开源项目

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    Spring面试题

    ☆ Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域...

    Spring Boot中文文档.rar

    28.4.2.Servlet上下文初始化 扫描Servlet,过滤器和侦听器 28.4.3.ServletWebServerApplicationContext 28.4.4.自定义嵌入式Servlet容器 程序化定制 直接自定义...

    java微信公众号MVC开发框架

    web.xml是web应用的配置文件,jwx从spring配置文件中获取配置信息,所以必须配置spring上下文环境;另外,需要配置微信消息处理分发Servlet(WeixinDispatcherServlet),用于处理微信送过来的请求消息或事件。jwx对...

    java面试题

    6:Spring Context:向Spring框架提供上下文信息 7:Spring MVC:分离模型、视图、控制器、以便更容易定制 折构函数和虚函数? 答:折构函数式销毁一个类的函数,虚函数是为了C++的动态绑定而设计的。 描述你的...

    OpenAi最简洁的Java流式返回接入方式,没有第三方依赖,只需要使用Spring Boot即可.zip

    openai 基本原理 基本原理是,通过深度学习算法,将大量的文本内容输入模型中进行训练,模型...作为聊天机器人,ChatGPT具有同类产品具备的一些特性,例如对话能力,能够在同一个会话期间内回答上下文相关的后续问题。

    hystrix-config-issue:基于Spring Cloud Tests项目展示一个请求上下文属性的问题

    该项目基于 Spring Cloud 测试项目,用于解决关闭 hystrix 请求上下文属性的问题。 我创建了一个自定义并发策略,以允许传递 MDC 参数,如。 这导致请求日志被打开。 我无法修复请求上下文,因为当我尝试将其添加到...

    greenbird-configuration:基于Spring的项目的配置框架

    使用此库的项目将受益于: 自动加载Spring上下文定义。 从类路径和文件系统自动加载配置属性。 使用常规Spring配置文件分隔环境。 活动配置文件的配置属性的自动重载。 特定于配置文件的属性可以在单独的文件中定义...

    DAO单元测试

    所以要进行dao的测试我需要从Spring的连接oracle的context中获取dao的实例出来,这里我使用的是spring-mockspring-mock使用比较简单的,只需要设置spring的配置文件路径就可以获得上下文了这里需要注意的是这个...

    Spring MVC之DispatcherServlet详解_动力节点Java学院整理

    DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处。 具体请参考第二章的图2-1。  ...

    教育平台:具有DDD的模块化Monolith Java应用程序

    正确分离有限的上下文; 有界上下文之间的通信示例; 简单的CQRS实现示例; 架构决策文件; 最佳实践/模式使用; 2.计划 这些问题在中表示 表中列出了高级计划 特征 状态 具有基本功能的模块化整体 已完成 ...

    superheroes:查找有关您最喜欢的超级英雄的信息

    您必须创建一个可以访问您的架构的用户,在 Spring 应用程序上下文文件 (applicationContext.xml) 中设置用户名和密码。 执行 ant compile 就可以了! 启动后,应用程序将开始填充您的数据库。 随时提供反馈。

Global site tag (gtag.js) - Google Analytics