Spring Boot 探索之旅(一)——Spring Boot 簡介
一、什麼是Spring Boot
隨著技術日新月異的發展,如今的軟體設計已不想曾經那般單一。業務複雜,功能繁瑣,大量三方元件的相互整合,成為了開發的一大難題。幸而,Spring Boot如同一道曙光,為我們java開發者帶來了福音,讓我們擺脫專案構架時各種配置的鬧心,得以專心於專案邏輯的編寫。
Spring Boot 的核心理念是“習慣優於配置”,它讓大量依賴預設整合成為了可能。藉助於Spring Boot 我們能做到以下幾點:
1:對主流框架,不需要任何xml配置,即可預設整合
2:內嵌tomcat等伺服器容器,無需打包為war,直接java -jar快捷部署執行
3:實時監控整個專案的執行狀況
4:採用bean或者xml形式,引入自定義配置
二、Spring Boot的主要依賴
2.1 Spring Boot應用程式啟動器
名稱 |
描述 |
spring-boot-starter |
核心啟動器,包括自動配置支援,日誌記錄和YAML |
spring-boot-starter-activemq |
使用Apache ActiveMQ進行JMS訊息傳遞 |
spring-boot-starter-amqp |
使用Spring AMQP和Rabbit MQ |
spring-boot-starter-aop |
使用Spring AOP和AspectJ進行面向方面程式設計 |
spring-boot-starter-artemis |
使用Apache Artemis進行JMS訊息傳遞 |
spring-boot-starter-batch |
使用Spring Batch批量處理 |
spring-boot-starter-cache |
提供Spring Framework的快取支援 |
spring-boot-starter-cloud-connectors |
使用Spring Cloud Connectors的簡化了Cloud Foundry和Heroku等雲平臺中的服務連線 |
spring-boot-starter-data-cassandra |
使用Cassandra分散式資料庫和Spring Data Cassandra |
spring-boot-starter-data-cassandra-reactive |
使用Cassandra分散式資料庫和Spring Data Cassandra Reactive |
spring-boot-starter-data-couchbase |
使用Couchbase面向文件的資料庫和Spring Data Couchbase |
spring-boot-starter-data-couchbase-reactive |
使用Couchbase面向文件的資料庫和Spring Data Couchbase Reactive |
spring-boot-starter-data-elasticsearch |
使用Elasticsearch搜尋和分析引擎以及Spring Data Elasticsearch |
spring-boot-starter-data-jdbc |
使用Spring Data JDBC |
spring-boot-starter-data-jpa |
使用Spring Data JPA與Hibernat |
spring-boot-starter-data-ldap |
使用Spring Data LDAP |
spring-boot-starter-data-mongodb |
使用MongoDB面向文件的資料庫和Spring Data MongoDB |
spring-boot-starter-data-mongodb-reactive |
使用MongoDB面向文件的資料庫和Spring Data MongoDB Reactive |
spring-boot-starter-data-neo4j |
使用Neo4j圖形資料庫和Spring Data Neo4j |
spring-boot-starter-data-redis |
與Spring Data Redis和Lettuce客戶端一起使用Redis鍵值資料儲存 |
spring-boot-starter-data-redis-reactive |
使用Redis鍵值資料儲存與Spring Data Redis被動和Lettuce客戶端 |
spring-boot-starter-data-rest |
使用Spring Data REST通過REST公開Spring Data儲存庫 |
spring-boot-starter-data-solr |
使用Apache Solr搜尋平臺和Spring Data Solr |
spring-boot-starter-freemarker |
使用FreeMarker檢視構建MVC Web應用程式 |
spring-boot-starter-groovy-templates |
使用Groovy模板檢視構建MVC Web應用程式 |
spring-boot-starter-hateoas |
使用Spring MVC和Spring HATEOAS構建基於超媒體的RESTful Web應用程式 |
spring-boot-starter-integration |
使用Spring Integration |
spring-boot-starter-jdbc |
將JDBC與HikariCP連線池一起使用 |
spring-boot-starter-jersey |
|
spring-boot-starter-json |
讀寫json |
spring-boot-starter-jta-atomikos |
使用Atomikos進行JTA交易 |
spring-boot-starter-jta-bitronix |
使用Bitronix進行JTA事務 |
spring-boot-starter-mail |
使用Java Mail和Spring Framework的電子郵件傳送支援 |
spring-boot-starter-mustache |
使用Mustache檢視構建Web應用程式 |
spring-boot-starter-oauth2-oidc-client |
使用Spring Security的OAuth2 / OpenID Connect客戶端功能 |
spring-boot-starter-quartz |
使用Quartz排程程式 |
spring-boot-starter-security |
使用Spring Security 許可權管理 |
spring-boot-starter-test |
使用JUnit,Hamcrest和Mockito等庫來測試Spring Boot應用程式 |
spring-boot-starter-thymeleaf |
使用Thymeleaf檢視構建MVC Web應用程式 |
spring-boot-starter-validation |
使用Java Bean Validation和Hibernate Validator進行引數校驗 |
spring-boot-starter-web |
使用Spring MVC構建Web(包括RESTful)應用程式。使用Tomcat作為預設嵌入式容器 |
spring-boot-starter-web-services |
使用Spring Web Services |
spring-boot-starter-webflux |
使用Spring Framework的Reactive Web支援構建WebFlux應用程式 |
spring-boot-starter-websocket |
使用Spring Framework的WebSocket支援構建WebSocket應用程式 |
2.2 Spring Boot應用監控
名稱 |
描述 |
spring-boot-starter-actuator |
使用Spring Boot的Actuator的啟動器,它提供生產就緒功能,幫助您監控和管理您的應用程式 |
2.3 Spring Boot服務容器或日誌替換
名稱 |
描述 |
spring-boot-starter-jetty |
|
spring-boot-starter-log4j2 |
|
spring-boot-starter-logging |
使用Logback進行日誌記錄。預設日誌啟動器 |
spring-boot-starter-reactor-netty |
使用Reactor Netty作為嵌入式響應式HTTP伺服器。 |
spring-boot-starter-tomcat |
使用Tomcat作為嵌入式servlet容器。使用的預設servlet容器啟動器spring-boot-starter-web |
spring-boot-starter-undertow |