Spring入门2--aware接口

来源:互联网 发布:照片模糊修复软件 编辑:程序博客网 时间:2024/05/18 19:36

看这篇之前,需要知道如何使用junit测试spring  http://blog.csdn.net/ch717828/article/details/44805541

通过aware接口,可以对spring相应资源(可能包含相关核心资源)进行操作(一定要慎重)

首先创建一个类,实现ApplicationContextAware接口 ,  该借口需要实现 setApplicationContext方法,该方法的参数由容器传递进来。

这样,bean 就获得了ApplicationContext这个资源

package aware;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;public class GetApplicationContext implements ApplicationContextAware {@Overridepublic void setApplicationContext(ApplicationContext arg0)throws BeansException {// TODO Auto-generated method stubSystem.out.println(" GetApplicationContext:"+arg0.getBean("getApplicationContext"));}}

spring配置文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd" >              <bean id="getApplicationContext" class="aware.GetApplicationContext" ></bean>         </beans>

创建一个测试类进行测试

package test.aware;import org.junit.Test;import org.junit.runner.RunWith;import org.junit.runners.BlockJUnit4ClassRunner;import org.springframework.context.support.ClassPathXmlApplicationContext;@RunWith(BlockJUnit4ClassRunner.class)public class TestAware {private ClassPathXmlApplicationContext context;@Testpublic void test(){context = new ClassPathXmlApplicationContext("spring-aware.xml");context.getBean("getApplicationContext");}}

输出结果:

 GetApplicationContext:aware.GetApplicationContext@14bc1199


完整项目:http://download.csdn.net/detail/ch717828/8560541


0 0