Spring Boot學習4 - @EnableAutoConfiguration @SpringBootApplication @ComponentScan作用

自動配置

Spring Boot Auto Configuration會根據您在項目中添加的Jar依賴項自動配置Spring應用程序。
例如,如果MySQL數據庫在您的類路徑上,但您尚未配置任何數據庫連接,則Spring Boot會自動配置內存數據庫。

爲此,您需要將@EnableAutoConfiguration批註或@SpringBootApplication批註添加到主類文件中。然後,將自動配置Spring Boot應用程序。
以下代碼可以更好地理解 -

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

@EnableAutoConfiguration
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Spring Boot Application

Spring Boot Application的入口點是包含@SpringBootApplication註釋的類。該類應該具有運行Spring Boot應用程序的主要方法。@SpringBootApplication註釋包括自動配置,組件掃描和Spring Boot配置。

如果將@SpringBootApplication批註添加到類中,則無需添加@EnableAutoConfiguration,@ ComponentScan和@SpringBootConfiguration批註。該@SpringBootApplication註釋包括所有其他的註解。

以下代碼以便更好地理解 -

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

組件掃描

Spring Boot應用程序在應用程序初始化時掃描所有bean和包聲明。您需要爲類文件添加@ComponentScan註釋,以掃描項目中添加的組件。

以下代碼以便更好地理解 -

import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章