SpringBoot2 骨架搭建
SpringBoot2介紹
衆所知周,SpringBoot誕生後,很多互聯網公司對它垂青,逐漸採用新型框架融入到項目體系中,從設計理念和落地,筆者認爲它是目前市面上一款很重要完整的框架體系,小夥伴如細心觀察,Spring開源社區非常活躍,Springboot版本逐漸迭代更新到2X系列,下面一起來看下它的新特性
github開源WIKI說明:
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release-Notes
支持JDK1.8及以上、Spring Framework 5
jdk1.8\Spring Framework 5新特性可自行閱讀,本文不在闡述
- 內嵌Tomcat8.5
- 嵌入Netty服務器 4.1
- 提供HTTP / 2協議支持,低版本都是HTTP/1
- 廢棄Springboot1X的Environment上下文環境變量獲取方式,採用BinderAPI
- Gradle插件語法重大升級,Gradle 3.x及以上引入包的方法變更
- Actuator endpoint健康檢查統計,訪問權限安全優化
- 提供更多註解融合
SpringBoot2骨架搭建流程
描述
可在線通過https://start.spring.io/,生成你需要的骨架包,當然工具Ecplise、STS、idea都基於start.spring.io 生成,筆者建議剛入手同學,生成的骨架不包含其它相關包,項目比較乾淨,待後續自行引入相關包能加深熟悉度
版本
SpringBoot 2.2.0.BUILD-SNAPSHOT、Gradle3.1、JDK1.8
步驟
- 打開 https://start.spring.io/,選好版本號、編譯工具生成包
- gradle、maven私服倉庫默認是國外的,下載過程較慢,改成國內倉庫地址http://maven.aliyun.com/nexus/content/groups/public/
- 解壓生成包,進入根目錄,本地無gradle環境 使用gradlew build,反之 gradle build,第一次編譯很慢,耐心等待
- 編譯完畢後 gradle相關依賴包默認生成路徑 C盤/用戶/.gradle/caches/modules-2/files-2.1,Maven在.m2/裏面,兩者都可以指定路徑配置
- 默認生成jar包,路徑在 build目錄裏面,可自定選擇或調整war
- 默認內嵌Tomcat容器運行命令 java -jar 包名,可改成jetty容器
- 筆者建議開發環境用jar包,生產環境用War包,調優方便
. ____ _ __ _ _
/\ / ’ __ _ () __ __ _ \ \ \
( ( )__ | '_ | '| | ’ / ` | \ \ \
\/ )| |)| | | | | || (| | ) ) ) )
’ || .__|| ||| |__, | / / / /
=|_|======|/=////
:: Spring Boot :: (v2.2.0.BUILD-SNAPSHOT)
Tomcat initialized with port(s): 8080 (http)
Initializing ProtocolHandler [“http-nio-8080”]
Starting Servlet engine: [Apache Tomcat/9.0.21]
Root WebApplicationContext: initialization completed in 737 ms
到此啓動完成
筆者生成骨架後,後續依次引入相關技術整合相關技術如下
- Springboot2.2 + gradle3
- mybatis+druid + mysql5.7/兼容H2內存數據庫
- ES+JPA
- 攔截器+ 過濾器+全局異常處理
- 多數據源: JDK動態代理
- 前後端交互 跨域+自定義header
- 集成jsp-jstl、編譯成War單獨部署tomcat、jetty可正常訪問
- 集成redis集羣 (底層通過lettuce 連接客戶端,lettuce基於netty多線程併發性能高、廢棄jedis)
- 增加Rest參數驗證 hibernate.validator
- 後續會集成微服務框架 SpringCloud
小夥伴可基於骨架進行擴展
Github:https://github.com/zacharyheloss/Springboot2
application.yml屬性配置
https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
springBoot整合了哪些技術
依賴包引入配置
https://www.cnblogs.com/selfchange/p/10014312.html
作者簡介:張程 技術研究
更多文章請關注微信公衆號:zachary分解獅 (frankly0423)