SpringBoot2 骨架搭建

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

步骤

  1. 打开 https://start.spring.io/,选好版本号、编译工具生成包
  2. gradle、maven私服仓库默认是国外的,下载过程较慢,改成国内仓库地址http://maven.aliyun.com/nexus/content/groups/public/
  3. 解压生成包,进入根目录,本地无gradle环境 使用gradlew build,反之 gradle build,第一次编译很慢,耐心等待
  4. 编译完毕后 gradle相关依赖包默认生成路径 C盘/用户/.gradle/caches/modules-2/files-2.1,Maven在.m2/里面,两者都可以指定路径配置
  5. 默认生成jar包,路径在 build目录里面,可自定选择或调整war
  6. 默认内嵌Tomcat容器运行命令 java -jar 包名,可改成jetty容器
  7. 笔者建议开发环境用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

到此启动完成

笔者生成骨架后,后续依次引入相关技术整合相关技术如下

  1. Springboot2.2 + gradle3
  2. mybatis+druid + mysql5.7/兼容H2内存数据库
  3. ES+JPA
  4. 拦截器+ 过滤器+全局异常处理
  5. 多数据源: JDK动态代理
  6. 前后端交互 跨域+自定义header
  7. 集成jsp-jstl、编译成War单独部署tomcat、jetty可正常访问
  8. 集成redis集群 (底层通过lettuce 连接客户端,lettuce基于netty多线程并发性能高、废弃jedis)
  9. 增加Rest参数验证 hibernate.validator
  10. 后续会集成微服务框架 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://github.com/spring-projects/spring-boot/tree/v2.1.0.RELEASE/spring-boot-project/spring-boot-starters

依赖包引入配置

https://www.cnblogs.com/selfchange/p/10014312.html

作者简介:张程 技术研究

更多文章请关注微信公众号:zachary分解狮 (frankly0423)

公众号

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章