您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何在SpringBoot項目中對ApplicationContext進行獲取,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
ApplicationContext是什么?
簡單來說就是Spring中的容器,可以用來獲取容器中的各種bean組件,注冊監聽事件,加載資源文件等功能。
Application Context獲取的幾種方式
1 直接使用Autowired注入
@Component public class Book1 { @Autowired private ApplicationContext applicationContext; public void show (){ System.out.println(applicationContext.getClass()); } }
2 利用 spring4.3 的新特性
使用spring4.3新特性但是存在一定的局限性,必須滿足以下兩點:
1) 構造函數只能有一個,如果有多個,就必須有一個無參數的構造函數,此時,spring會調用無參的構造函數
2) 構造函數的參數,必須在spring容器中存在
@Component public class Book2 { private ApplicationContext applicationContext; public Book2(ApplicationContext applicationContext){ System.out.println(applicationContext.getClass()); this.applicationContext=applicationContext; } public void show (){ System.out.println(applicationContext.getClass()); } }
3 實現spring提供的接口 ApplicationContextAware
spring 在bean 初始化后會判斷是不是ApplicationContextAware的子類,調用setApplicationContext()方法, 會將容器中ApplicationContext傳入進去
@Component public class Book3 implements ApplicationContextAware { private ApplicationContext applicationContext; public void show (){ System.out.println(applicationContext.getClass()); } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } }
結果獲取三次:
class org.springframework.context.annotation.AnnotationConfigApplicationContext class org.springframework.context.annotation.AnnotationConfigApplicationContext class org.springframework.context.annotation.AnnotationConfigApplicationContext
上述內容就是如何在SpringBoot項目中對ApplicationContext進行獲取,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。