很多 Spring Boot 開發者總是使用@Configuration、@EnableAutoConfiguration和@ComponentScan註解標記在主類上。由於 這些註解經常一起使用,根據官方的最佳實踐,Spring Boot 提供了一個更方便的@SpringBootApplication註解可用來替代這個組合。
@SpringBootApplication註解相當於使用@Configuration、@EnableAutoConfiguration和@ComponentScan及他們的預設屬性:
package com.example.myapplication;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // 相當於使用 @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
複製程式碼
1、@SpringBootApplication還提供了別名來自定義@EnableAutoConfiguration和@ComponentScan的屬。
2、Spring Boot中引入了自動配置,讓開發者利用起來更加的簡便、快捷。比如內嵌的tomcat埠預設配置是8080,這些都屬於Spring Boot自動配置的範疇,當然其自動配置相當多。
3、springboot框架的神奇之處在於@EnableAutoConfiguration註釋,此註釋自動載入應用程式所需的所有Bean 。
@SpringBootApplication定位主應用類
Spring Boot 不需要任何特定的程式碼佈局,但是有一些最佳實踐是很有用的,Spring Boot中一個經典的包結構如下:
com
+- icangjinge
+- bank
+-springboot
+- base
+-entity
+- Customer
+-controller
+- CustomerController
+-service
+- CustomerService
+- CustomerApplication.java
複製程式碼
或
com
+- icangjinge
+- bank
+-springboot
+- base
+- Application.java
+- customer
+- Customer.java
+- CustomerController.java
+- CustomerService.java
+- CustomerRepository.java
+- order
+- Order.java
+- OrderController.java
+- OrderService.java
+- OrderRepository.java
複製程式碼