一.自動配置
所謂自動配置,就是Spring容器啟動后,一些配置類、bean對象就自動存入了IOC容器當中,而不需要我們手動聲明,直接從IOC容器中引入即可。省去了繁瑣的配置操作。
我們可以首先將spring項目啟動起來,里面有一項
?里面有一項beans
點擊application
里面列出了我們當前spring項目中IOC容器里所有的bean對象。我們可以看到有CommonConfig,里面有個bean對象reader,
這與我們的代碼一致,類型是SAXReader,也一致。
我們發現還有一個CommonConfig類,里面也有一個bean對象commonConfig,為什么還有一個這個bean對象呢?我們可以打開@Configuration注解。
?發現其就是基于@Component注解的,因此這個配置類也是spring的IOC容器的一部分。
還有我們自己定義的bean
除了我們自己定義的類,這里還有spring自動生成的配置類,比如有一個配置類叫GsonAutoConfiguration,里面有一個bean對象gson。類型也是Gson。這個bean是Google當中提供的,用來處理json格式的數據,如果我們想使用,直接使用@Autowired注入進來即可。
?我們準備一個單元測試類:
package com.itheima;import org.springframework.boot.test.context.SpringBootTest;/**
* 自動配置原理測試
*/@SpringBootTest
public class AutoConfigurationTests {@AutoWiredprivate Gson gson;@Testpublic void TestJson() {String json = gson.toJson(Result.success());System.out.println(json);}
}