Spring Boot 獲取ApplicationContext


 1 package com.demo;
 2 
 3 import org.springframework.beans.BeansException;
 4 import org.springframework.context.ApplicationContext;
 5 import org.springframework.context.ApplicationContextAware;
 6 import org.springframework.stereotype.Component;
 7 
 8 @Component
 9 public class SpringUtils implements ApplicationContextAware {
10     private static ApplicationContext applicationContext = null;
11 
12     @Override
13     public void setApplicationContext(ApplicationContext arg0) throws BeansException {
14         if (SpringUtils.applicationContext == null) {
15             SpringUtils.applicationContext = arg0;
16         }
17     }
18 
19     // 獲取applicationContext
20     public static ApplicationContext getApplicationContext() {
21         return applicationContext;
22     }
23 
24     // 通過name獲取 Bean.
25     public static Object getBean(String name) {
26         return getApplicationContext().getBean(name);
27     }
28 
29     // 通過class獲取Bean.
30     public static <T> T getBean(Class<T> clazz) {
31         return getApplicationContext().getBean(clazz);
32     }
33 
34     // 通過name,以及Clazz返回指定的Bean
35     public static <T> T getBean(String name, Class<T> clazz) {
36         return getApplicationContext().getBean(name, clazz);
37     }
38 
39 }

與Spring Boot啟動類同包或其子包


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM