亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Springboot應用到底啟動了哪些bean

發布時間:2021-09-29 15:50:59 來源:億速云 閱讀:140 作者:柒染 欄目:web開發

本篇文章為大家展示了Springboot應用到底啟動了哪些bean,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1. 概述

我們將探索在容器中獲取所有spring管理的bean的相關技術。這有神馬用?主要是用于排查問題。一般都是我們創建的某一個bean沒有啟動的問題。畢竟工作中總是會遇到各種各樣的bug。提前了解一些沒有壞處。

2. IoC容器

bean是spring管理的應用程序的基礎,所有bean都駐留在IOC容器中,該容器負責管理它們的生命周期。

我們可以通過兩種方式獲取該容器內所有bean的列表:

  • 使用ListableBeanFactory接口

  • 使用Spring Boot Actuator

3.使用ListableBeanFactory接口

ListableBeanFactory接口提供了getBeanDefinitionNames()方法,該方法返回在這個工廠中定義的所有bean的名稱。您可以在官方文檔中找到所有已知子接口及其實現類的列表。我們來看這種方式如何獲取所有的bean。

第一步:創建一個Controller

@Controller public class FooController {     @Autowired     private FooService fooService;     @RequestMapping(value="/displayallbeans")     public String getHeaderAndBody(Map model){         model.put("header", fooService.getHeader());         model.put("message", fooService.getBody());         return "displayallbeans";     } }

這個Controller依賴于另一個FooService。

第二步:創建Service

@Service public class FooService {     public String getHeader() {         return "Display All Beans";     }     public String getBody() {         return "展示所有beans的案例";     } }

注意,我們在這里創建了兩個不同的bean:

  • fooController

  • fooService

這里使用applicationContext對象并調用它的getBeanDefinitionNames()方法,該方法將返回applicationContext容器中的所有bean:

第三步:設置SpringBootApplication啟動類

@SpringBootApplication public class DemoApplication {     private static ApplicationContext applicationContext;     public static void main(String[] args) {         applicationContext = SpringApplication.run(DemoApplication.class, args);         displayAllBeans();     }     public static void displayAllBeans() {         String[] allBeanNames = applicationContext.getBeanDefinitionNames();         for(String beanName : allBeanNames) {             System.out.println(beanName);         }     } }

第四步:測試打印

這將打印applicationContext容器中的所有bean:

Springboot應用到底啟動了哪些bean

注意,除了我們定義的bean之外,它還將記錄該容器中的所有其他bean。為了清楚起見,我們在這里省略了它們,因為它們有很多。

4. 使用Spring Boot Actuator

Spring Boot Actuator提供了用于監控應用程序統計信息的端點。下面看看這種方式:

第一步:添加依賴

<dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-actuator</artifactId> </dependency>

第二步:修改application.properties

management.endpoints.web.exposure.include=*

把上面代碼添加到properties文件中。

第三步:使用發布端點查看

Springboot應用到底啟動了哪些bean

由于這里的Actuator沒有配置,所以顯示的比較亂。

上述內容就是Springboot應用到底啟動了哪些bean,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

马鞍山市| 林州市| 礼泉县| 连云港市| 正安县| 江北区| 县级市| 古交市| 涿鹿县| 龙里县| 赤壁市| 绥中县| 双流县| 定襄县| 忻城县| 漾濞| 永州市| 康保县| 普安县| 大同市| 将乐县| 衢州市| 奉节县| 江达县| 巨鹿县| 收藏| 土默特右旗| 大悟县| 资中县| 佛山市| 铅山县| 铜鼓县| 辉县市| 沾化县| 宣城市| 东至县| 盐山县| 米泉市| 旺苍县| 嘉定区| 榕江县|