获取ApplicationContext的三种⽅式
ApplicationContext是什么?
简单来说就是Spring中的容器,可以⽤来获取容器中的各种bean组件,注册监听事件,加载资源⽂件等功能。
Application Context获取的⼏种⽅式
1 直接使⽤Autowired注⼊
@Component public class Book1 { @Autowired private ApplicationContext applicationContext; public void show (){
System.out.Class()); } }
2 利⽤ spring4.
3 的新特性
使⽤spring4.3新特性但是存在⼀定的局限性,必须满⾜以下两点:
1 构造函数只能有⼀个,如果有多个,就必须有⼀个⽆参数的构造函数,此时,spring会调⽤⽆参的构造函数
2 构造函数的参数,必须在spring容器中存在@Component public class Book2 { private ApplicationContext applicationContext; public Book2(ApplicationContext applicationContext){
System.out.Class()); this.applicationContext=applicationContext; } public void show (){
System.out.Class()); } }
3 实现spring提供的接⼝ ApplicationContextAware
spring 在bean 初始化后会判断是不是ApplicationContextAware的⼦类,调⽤setApplicationContext()⽅法,会将容器中ApplicationContext传⼊进去@Component public class Book3 implements ApplicationContextAware { private ApplicationContext applicationContext; public void show (){ System.out.Class()); } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } }
结果获取三次:
spring framework组件class t.annotation.AnnotationConfigApplicationContext
class t.annotation.AnnotationConfigApplicationContext
class t.annotation.AnnotationConfigApplicationContext

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。