簡介
Spring Boot其設計目的是用來簡化 Spring 應用的初始搭建以及開發過程。Spring Boot 的目標不在於爲已解決的問題域提供新的解決方案,而是爲平臺帶來另外一種開發體驗,從而簡化對這些已有技術的使用。Spring Boot 充分利用了 JavaConfig 的配置模式以及「約定優於配置」的理念,可以極大的簡化基於 Spring MVC 的 Web 應用和 REST 服務開發。對於已經熟悉 Spring 生態系統的開發人員來講,Spring Boot 是一個很理想的選擇。web
特色
1:建立獨立的spring應用。redis
2:嵌入Tomcat, Jetty Undertow 並且不須要部署他們。spring
3:提供的「starters」poms來簡化Maven配置mongodb
4:儘量自動配置spring應用。數據庫
5:提供生產指標,健壯檢查和外部化配置編程
6:絕對沒有代碼生成和XML配置要求spring-mvc
優勢
Spring Boot 使編碼變簡單,使配置變簡單,Spring Boot 使部署變簡單,Spring Boot 使監控變簡單tomcat
模塊
Spring Boot提供了不少」開箱即用「的依賴模塊,都是以spring-boot-starter-xx做爲命名的。下面列舉一些經常使用的模塊。服務器
- spring-boot-starter 簡單模塊
- spring-boot-starter-logging :使用 Spring Boot 默認的日誌框架 Logback。
- spring-boot-starter-log4j :添加 Log4j 的支持。
- spring-boot-starter-web :支持 Web 應用開發,包含 Tomcat 和 spring-mvc。
- spring-boot-starter-tomcat :使用 Spring Boot 默認的 Tomcat 做爲應用服務器。
- spring-boot-starter-jetty :使用 Jetty 而不是默認的 Tomcat 做爲應用服務器。
- spring-boot-starter-test :包含經常使用的測試所需的依賴,如 JUnit、Hamcrest、Mockito 和 spring-test 等。
- spring-boot-starter-aop :包含 spring-aop 和 AspectJ 來支持面向切面編程(AOP)。
- spring-boot-starter-security :包含 spring-security。
- spring-boot-starter-jdbc :支持使用 JDBC 訪問數據庫。
- spring-boot-starter-redis :支持使用 Redis。
- spring-boot-starter-data-mongodb :包含 spring-data-mongodb 來支持 MongoDB。
- spring-boot-starter-data-jpa :包含 spring-data-jpa、spring-orm 和 Hibernate 來支持 JPA。
- spring-boot-starter-amqp :經過 spring-rabbit 支持 AMQP。
- spring-boot-starter-actuator : 添加適用於生產環境的功能,如性能指標和監測等功能。
自動配置
Spring Boot 推薦採用基於 Java Config 的配置方式,而不是傳統的 XML。例如,@Configuration、@Bean、@EnableAutoConfiguration、@CompomentScan、@PropertySource、@Repository、@Service、@RestController等。mvc