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);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。