1. 程式人生 > 實用技巧 >SpringBoot高階-自動配置原理剖析

SpringBoot高階-自動配置原理剖析

前言:在使用SpringBoot開發時,發現它非常的方便,很多東西就是匯入依賴,拿來即用,並不清楚其中的原理是什麼,所有心理多少會有些疑惑,瞭解自動配置原理之後,我們可以更好的使用SpringBoot,並且學習其中的設計思想。

示例:我們對SpringBoot引導類進行修改,通過IOC容器,獲取redisTemplate這個Bean,看能否獲取?

@SpringBootApplication
public class SpringbootConditionApplication {

    public static void main(String[] args) {
        //啟動SpringBoot的應用,返回Spring的IOC容器
        ConfigurableApplicationContext context = SpringApplication.run(SpringbootConditionApplication.class, args);

        //獲取Bean,redisTemplate
        Object redisTemplate = context.getBean("redisTemplate");
        System.out.println(redisTemplate);
    }
}

控制檯結果:可知預設的時候,SpringBoot不會為我們載入redisTemplate這個Bean。

下一步,我們在pom.xml中加入redis的起步依賴

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

再次啟動程式:可以成功的獲取redisTemplate的Bean

一、Condition是在Spring4.0增加的條件判斷功能,通過這個功能,SpringBoot可以實現選擇性的建立Bean操作。