Spring Boot特點


Spring Boot特點:

  • 依賴管理
  • 基於java代碼的配置
  • 自動配置
  • Bean管理
  • 嵌入式HTTP服務器,單一可執行jar包

依賴管理

Spring Boot的一大特色就是減少了POM依賴配置,Spring Boot通過提供一系列的Starter來管理依賴,保證依賴的兼容性和一致性。詳細可以參考我的另一篇博文Spring Boot Starter https://www.cnblogs.com/stronger-brother/p/12097235.html

基於java代碼的配置

傳統的Spring應用程序偏好XML配置,但是Spring Boot應用程序偏好基於Java代碼的配置,同時Spring Boot也支持XML配置。在Spring Boot中,配置類通過@Configuration注解標注,如果你偏好XML配置,可以在配置類上使用@ImportResource注解導入XML配置資源。配置可以按分類划入到多個配置類中,然后通過@Import注解導入合並,也可以使用@ComponentScan自動合並配置類。

自動配置

在啟動了自動配置之后,Spring Boot將會根據您的應用程序依賴的jar包自動配置Spring。例如,如果您的應用程序中包含HSQLDB包,您不需要配置任何數據庫連接Bean,Spring Boot會自動配置一個內存數據庫。通過在@Configuration配置類上標注@EnableAutoConfiguration來啟用自動配置,通過@EnableAutoConfiguration也可以禁用自動配置。例如,如果我們不想在引用了HSQLDB之后自動配置數據源,可以通過@EnableAutoConfiguration注解的exclude屬性排除對數據源的自動配置,代碼如下:

import org.springframework.boot.autoconfigure.*;
import org.springframework.boot.autoconfigure.jdbc.*;
import org.springframework.context.annotation.*;

@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class MyConfiguration {
}

如果路徑中不存在要排除的類,可以使用@EnableAutoConfiguration的excludeName屬性通過指定類的全限定名稱排除。

Bean的管理

Spring Boot對Bean的管理和Spring是一致的,傳統的@Service、@Componennt、@Autowried注解依然可以使用,同時Spring Boot提供了@ComponentScan注解來進行組件掃描。

嵌入式HTTP服務器,單一可執行jar包

Spring Boot支持把Tomcat、Jetty等HTTP服務器嵌入到應用程序中,然后和應用代碼一起生成一個單一可執行的jar包,方便傳輸和部署。

@SpringBootApplication

@SpringBootApplication注解是一個集大成者,它集合了下面三個注解的功能的,從而簡化了配置。

  • @EnableAutoConfiguration 啟用自動配置
  • @ComponentScan 組件掃描
  • @Configuation 配置Bean或導入其他的配置
package com.example.myapplication;

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

@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {

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

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM