Spring ApplicationContextAware获取上下文
2016-05-29 15:41
489 查看
一、ApplicationContextAware 用处
Spring 提供了ApplicationContextAware类,通过它可以获取所有bean上下文。
二、怎么用?
①、定义一个工具类,去实现 ApplicationContextAware,实现 setApplicationContext方法即可
②、业务代码
③、xml 配置
④、test
Spring 提供了ApplicationContextAware类,通过它可以获取所有bean上下文。
二、怎么用?
①、定义一个工具类,去实现 ApplicationContextAware,实现 setApplicationContext方法即可
public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; // Spring应用上下文环境 @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { SpringContextUtil.applicationContext = applicationContext; } /** * 获取对象 * * @param name * @return Object 一个以所给名字注册的bean的实例 * @throws BeansException */ public static Object getBean(String name) throws BeansException { return applicationContext.getBean(name); } }
②、业务代码
public interface UserReadService { public UserInfo getUserInfoById(Long id); } @Component("userReadService") public class UserReadServiceImpl implements UserReadService { @Override public UserInfo getUserInfoById(Long id) { System.out.println("获取用户信息"); return null; } }
③、xml 配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd"> <context:annotation-config /> <!--自动扫描含有@Service将其注入为bean --> <context:component-scan base-package="com.mycompany.yuanmeng.springdemo.aop" /> <bean id="springContextUtil" class="com.mycompany.yuanmeng.springdemo.aop.SpringContextUtil" /> </beans>
④、test
public static void test() { new ClassPathXmlApplicationContext("spring.xml"); // 加载ApplicationContext(模拟启动web服务), 当然如果是用web工程的话,可以直接在web.xml配置,容器会去加载此文件。 UserReadService userReadService = (UserReadService) SpringContextUtil.getBean("userReadService"); userReadService.getUserInfoById(null); }
相关文章推荐
- android中图片置灰,返回Bitmap
- android的下载为什么要放到服务里面操作
- IOS Project缺少Framework的情况汇总
- Android系统图标的使用
- iOS-绑定key与属性名方法
- PYTableViewController框架
- android stdio快速生成get和set方法
- cocos2dx 3.x粒子系统
- Filter Blue Light for Better Sleep(APP 推荐)
- Android OpenGL ES2.0编程教程系列之添加运动(五)
- 9.Tornado的核心web框架tornado.web小结---RequestHandler和Application
- Unity3D WebCamTexture 调用外部摄像头
- android开发播放声音文件
- H5+app前端后台ajax交互总结
- Android LayoutInflater详解
- iOS 中文转拼音 多音字处理
- Android仿微信通讯录功能,好友排序+字母索引
- 每天翻译一点点: WPF Application Framework (WAF)
- Android 你才刚上路呢
- android05