Spring Aware标记接口使用案例解析
Aware接口是一个标记接口
XXXAare在Spring中表示对XXX可以感知,通俗点解释就是:如果在某个类里面想要使用Spring的一些东西,就可以通过实现XXXAware接口告诉Spring,Spring看到后就会送过来,而接受的方式是通过实现接口唯一的方法setXXX.比如ApplicationContextAware
ApplicationContextAware使用
编写SpringAware实现ApplicationContext接口
packagecom.rookie.bigdata.aware; importorg.springframework.beans.BeansException; importorg.springframework.context.ApplicationContext; importorg.springframework.context.ApplicationContextAware; /** *@authorrookie *@version1.0 *@date2020/3/2122:58 */ publicclassSpringAwareimplementsApplicationContextAware{ privateApplicationContextapplicationContext; //Spring容器会将ApplicationContext对象传入过来 @Override publicvoidsetApplicationContext(ApplicationContextapplicationContext)throwsBeansException{ System.out.println("传入的IOC容器applicationContext=["+applicationContext+"]"); this.applicationContext=applicationContext; } publicApplicationContextgetApplicationContext(){ returnapplicationContext; } }
User实体类
packagecom.rookie.bigdata.domain; publicclassUser{ privateStringusername; privateStringaddress; publicStringgetUsername(){ returnusername; } publicvoidsetUsername(Stringusername){ this.username=username; } publicStringgetAddress(){ returnaddress; } publicvoidsetAddress(Stringaddress){ this.address=address; } }
spring-aware.xml
测试类
@Test publicvoidtest1(){ ApplicationContextapplicationContext=newClassPathXmlApplicationContext("/aware/spring-aware.xml"); //Useruser=(User)applicationContext.getBean("user"); //System.out.println(user); SpringAwarespringAware=(SpringAware)applicationContext.getBean("springAware"); ApplicationContextapplicationContext1=springAware.getApplicationContext(); Useruser=(User)applicationContext1.getBean("user"); System.out.println(user); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。