摘要:開始介紹簡化了基于的應用開發,你只需要就能創建一個獨立的,產品級別的應用。該包含很多搭建,快速運行項目所需的依賴,并提供一致的,可管理傳遞性的依賴集。日志級別通過標識開啟控制臺級別日志記錄,也可以在中指定日志級別配置示例
開始 介紹
Spring Boot 簡化了基于 Spring 的應用開發,你只需要 "run" 就能創建一個獨立的,產品級別的 Spring 應用。
Spring 平臺及第三方庫提供開箱即用的設置,這樣你就可以有條不紊地開始。多數 Spring Boot 應用只需要很少的Spring 配置。你可以使用 Spring Boot 創建 Java 應用,并使用 java -jar 啟動它或采用傳統的 war 部署方式
系統要求Java7 以上,通常建議盡可能使用 Java8
Maven 3.2+,Gradle 2.9+ 或 Gradle 3
內嵌容器支持 Tomcat、Jetty
安裝 Maven 安裝POM 文件繼承 spring-boot-starter-parent 工程,并聲明一個或多個 "Start POMs" 依賴,此外 Spring Boot 提供了一個可選的 Maven 插件,用于創建可執行 jars
...Gradle 安裝org.springframework.boot spring-boot-starter-parent 1.5.3.RELEASE org.springframework.boot spring-boot-starter-web ... org.springframework.boot spring-boot-maven-plugin
略
使用 StartersStarters 是一個依賴描述符的集合,你可以將它包含進項目中,這樣添加依賴就非常方便。你可以獲取所有 Spring 及相關技術的一站式服務,而不需要翻閱示例代碼,拷貝粘貼大量的依賴描述符。例如,如果你想使用 Spring 和 JPA 進行數據庫訪問,只需要在項目中包含spring-boot-starter-data-jpa依賴,然后你就可以開始了。
該 starters 包含很多搭建,快速運行項目所需的依賴,并提供一致的,可管理傳遞性的依賴集。
以下應用程序 starters 是 Spring Boot 在 org.springframework.boot group 下提供的:
名稱 | 描述 |
---|---|
spring-boot-starter | 核心Starter,包含了自動配置,日志,YAML配置 |
名稱 | 描述 |
---|---|
spring-boot-starter-web | 用于使用Spring MVC構建web應用,包括RESTful。Tomcat是默認的內嵌容器 |
spring-boot-starter-web-services | 對Spring Web服務的支持 |
spring-boot-starter-websocket | 對Spring WebSocket支持 |
spring-boot-starter-mobile | 用于使用Spring Mobile開發web應用 |
spring-boot-starter-jersey | 用于使用JAX-RS和Jersey構建RESTful web應用,spring-boot-starter-web的替代方案 |
spring-boot-starter-hateoas | 用于使用基于hypermedia-based RESTful web 應用 |
名稱 | 描述 |
---|---|
spring-boot-starter-jdbc | 對JDBC的支持(使用Tomcat JDBC連接池) |
spring-boot-starter-data-redis | 用于使用通過Jedis客戶端操作的Redis |
spring-boot-starter-data-mongodb | 用于使用基于文檔的數據庫MongoDB |
spring-boot-starter-data-cassandra | 用于使用分布式數據庫Cassandra |
spring-boot-starter-data-solr | 用于使用Apache Solr |
spring-boot-starter-data-elasticsearch | 用于使用Elasticsearch搜索 |
spring-boot-starter-data-couchbase | 用于使用基于文檔的數據庫Couchbase |
spring-boot-starter-data-gemfire | 用于使用分布式數據存儲GemFire |
spring-boot-starter-data-neo4j | 用于使用圖數據庫Neo4j |
spring-boot-starter-data-ldap | 用于使用 Spring Data LDAP |
spring-boot-starter-data-jpa | 用于使用Hibernate實現Spring Data JPA |
spring-boot-starter-data-rest | 用于使用 Spring Data REST |
名稱 | 描述 |
---|---|
spring-boot-starter-jta-atomikos | 用于使用Atomikos實現JTA事務 |
spring-boot-starter-jta-bitronix | 用于使用Bitronix實現JTA事務 |
spring-boot-starter-jta-narayana | 用于使用Narayana 實現JTA事務 |
名稱 | 描述 |
---|---|
spring-boot-starter-thymeleaf | 用于使用Thymeleaf模板引擎構建MVC web應用 |
spring-boot-starter-freemarker | 用于使用FreeMarker模板引擎構建MVC web應用 |
spring-boot-starter-mustache | 用于使用Mustache模板引擎構建MVC web應用 |
spring-boot-starter-groovy-templates | 用于使用groovy模板引擎構建MVC web應用 |
名稱 | 描述 |
---|---|
spring-boot-starter-activemq | 用于使用Apache ActiveMQ實現JMS消息 |
spring-boot-starter-artemis | 用于使用Apache Artemis實現JMS消息 |
spring-boot-starter-amqp | 用于使用AMQP與Rabbit MQ消息隊列 |
名稱 | 描述 |
---|---|
spring-boot-starter-mail | 用于使用Java Mail和Spring框架email發送支持 |
spring-boot-starter-integration | 用于使用Spring Integration |
spring-boot-starter-security | 對Spring Security的支持 |
spring-boot-starter-test | 用于測試Spring Boot應用,支持常用測試類庫,包括JUnit, Hamcrest和Mockito |
spring-boot-starter-batch | 用于使用Spring Batch |
spring-boot-starter-cache | 用于使用Spring框架的緩存支持 |
spring-boot-starter-actuator | 為Spring Boot提供了監控與管理 |
spring-boot-starter-aop | 用于使用Spring AOP和AspectJ實現面向切面編程 |
spring-boot-starter-validation | 用于使用Hibernate Validator實現Java Bean校驗 |
spring-boot-starter-logging | 用于Logback支持,默認的logging starter |
spingg-boot-starter-log4j2 | 用于Log4j2支持,用于替換默認的logging |
名稱 | 描述 |
---|---|
spring-boot-starter-social-linkedin | 用于使用Spring Social Linkedin的支持 |
spring-boot-starter-social-facebook | 用于使用Spring Social Facebook的支持 |
spring-boot-starter-social-twitter | 用于使用Spring Social Twitter的支持 |
下面可以獲取一個社區貢獻的 starters 列表:
https://github.com/spring-pro...
名稱 | 描述 |
---|---|
grpc-spring-boot-starter | 用于支持gRPC |
mybatis-spring-boot | 用于支持Mybatis |
okhttp-spring-boot | 用于支持OkHttp |
下面是個典型的結構,建議把應用的main類放到包的頂層
com +- example +- myproject +- Application.java | +- domain | +- Customer.java | +- CustomerRepository.java | +- service | +- CustomerService.java | +- web +- CustomerController.java@SpringBootApplication注解
@SpringBootApplication注解等價于以默認屬性使用:
@Configuration
@EnableAutoConfiguration
@ComponentScan
java -jar target/myproject-0.0.1-SNAPSHOT.jar通過 Maven 插件運行
mvn spring-boot:run
可以使用一些有用的環境變量:
export MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=128M熱交換
徹底的的解決可以使用:Spring Loaded 項目或 JRebel
spring-boot-devtools 支持應用的快速重啟
配置 Application 屬性文件SpringApplication將從以下位置加載 application.properties 文件,并把它們添加到Spring:
當前目錄下的/config 子目錄。
當前目錄。
classpath下的/config包。
classpath根路徑(root)。
命令行屬性SpringApplication會將所有命令行配置參數(以"--"開頭,比如--server.port=9000)轉化成一個property,并將其添加到Spring Environment中
命令行屬性總是優先于其他屬性源。
日志級別通過 --debug 標識開啟控制臺DEBUG級別日志記錄,也可以在 application.properties中指定 debug=true
java -jar myapp.jar --debug
日志級別配置示例:
logging.level.root=WARN logging.level.org.springframework.web=DEBUG logging.level.org.hibernate=ERROR
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67255.html
摘要:比如日志默認使用作為第一選擇,默認集成了,并且支持配置使用貌似和有點變化,暫時不折騰了單元測試 環境:Spring Boot 1.5.4 基于 Spring Boot 創建一個命令行應用,先來個最基本的體驗,體驗一下: 配置管理(配置文件加載,多環境配置文件) 日志 單元測試 創建項目 比較好的兩種方法: 通過 https://start.spring.io/ 網站,生成項目框架...
摘要:不過可以切換到版本,兼容性未知。注解一旦添加了依賴會判斷這是一個應用,并啟動一個內嵌的容器默認是用于處理請求。注意中空字符串與的區別。 環境:Spring Boot 1.5.4 基于 Spring Boot 可以快速創建一個Web & Restful 應用,在開始應用之前,至少要了解以下用法: 定義路由,定義 HTTP 方法 獲取Header、GET、POST、路徑等參數 Cooki...
摘要:本文只是引子,后續更新到獨立章節。尤其是,這也是現在號稱流行的組合。幸虧現在看起來不主流了。增刪改查多條件組合查詢分頁,排序等多表關聯。而每個類寫上構造函數,,實在是蛋疼。 本文只是引子,后續更新到獨立章節。 環境:Spring Boot 1.5.4 到了操作數據庫的環節,以 MySQL 為基準,體驗一下數據庫的相關操作,先讓我糾結一下,至少有以下四種姿勢。 JDBC。原生的 JD...
摘要:響應式編程是基于異步和事件驅動的非阻塞程序,只是垂直通過在內啟動少量線程擴展,而不是水平通過集群擴展。三特性常用的生產的特性如下響應式編程模型適用性內嵌容器組件還有對日志消息測試及擴展等支持。 摘要: 原創出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關注和轉載,保留摘要,謝謝! 02:WebFlux 快速入門實踐 文章工程: JDK...
摘要:關聯關系的關聯關系定義上,感覺并不是很靈活,姿勢也比較難找。如,定義在關聯關系上的參數可以設置級聯的相關東西。因為序列化會涉及到實體類關聯對象的獲取,會觸發所有的關聯關系。 接(4) - Database 系列. Java Persistence API,可以理解就是 Java 一個持久化標準或規范,Spring Data JPA 是對它的實現。并且提供多個 JPA 廠商適配,如 Hi...
閱讀 2706·2021-11-11 16:54
閱讀 2329·2021-10-09 09:44
閱讀 2548·2019-08-30 15:54
閱讀 1936·2019-08-30 11:24
閱讀 1175·2019-08-29 17:03
閱讀 2107·2019-08-29 16:22
閱讀 2086·2019-08-29 13:11
閱讀 1044·2019-08-29 12:14