SpringBoot原則是約定優於配置,簡化spring應用開發,去繁從簡,產品級別的應用。
SpringBoot有哪些優點
1、快速創建獨立運行的spring項目與主流框架集成
2、使用嵌入式的servlet容器,應用無需打包成war包
3、starters自動依賴與版本控制
4、大量的自動配置,簡化開發,也可修改默認值
5、准生產環境的運行應用監控
6、與雲計算的天然集成
在使用spring boot之前,搭建一個spring web項目需要的步驟:
1、配置web.xml,加載spring和spring mvc
2、配置數據庫連接、配置spring事務
3、配置加載配置文件的讀取,開啟注解
4、配置日志文件
...
Spring發展階段
第一階段:xml配置
在Spring 1.x時代,使用Spring開發滿眼都是xml配置的Bean,隨着項目的擴大,我們需要把xml配置文件放到不同的配置文件里,那時需要頻繁的在開發的類和配置文件之間進行切換
第二階段:注解配置
在Spring 2.x 時代,隨着JDK1.5帶來的注解支持,Spring提供了聲明Bean的注解(例如@Component、@Service),大大減少了配置量。主要使用的方式是應用的基本配置(如數據庫配置)用xml,業務配置用注解
第三階段:java配置
Spring 3.0 引入了基於 Java 的配置能力,這是一種類型安全的可重構配置方式,可以代替 XML。我們目前剛好處於這個時代,Spring4.x和Spring Boot都推薦使用Java配置。
SpringBoot 啟動器說明
名稱 | 描述 |
---|---|
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與Hibernate一起使用的初學者 |
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 | 使用帶有Spring Data Redis被動的Redis鍵值數據存儲和Lettuce客戶端的入門者 |
spring-boot-starter-data-rest | 使用Spring Data REST通過REST公開Spring Data存儲庫的入門者 |
spring-boot-starter-data-solr | 在Spring Data Solr中使用Apache 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 | 使用JAX-RS和Jersey構建RESTful Web應用程序的初學者。替代spring-boot-starter-web |
spring-boot-starter-jooq | 使用jOOQ訪問SQL數據庫的初學者。替代spring-boot-starter-data-jpa或spring-boot-starter-jdbc |
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-client | 使用Spring Security的OAuth2 / OpenID Connect客戶端功能的入門者 |
spring-boot-starter-oauth2-resource-server | 使用Spring Security的OAuth2資源服務器功能的入門者 |
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應用程序的初學者 |
spring-boot-starter-jetty | 使用Jetty作為嵌入式servlet容器的入門。替代spring-boot-starter-tomcat |
spring-boot-starter-log4j2 | 使用Log4j2進行日志記錄的入門。替代spring-boot-starter-logging |
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 | 使用Undertow作為嵌入式servlet容器的入門者。替代spring-boot-starter-tomcat |
spring-boot-starter-actuator | 使用Spring Boot的Actuator的初學者,它提供生產就緒功能,幫助您監控和管理您的應用程序 |
創建SpringBoot項目
1、打開idea開發工具,在菜單欄選擇File-->New-->Project...-->Spring Initializer
2、填寫Group和Artifact信息
3、勾選web
4、修改工程名字和路徑,完成