一、SpringBoot简介
1.什么是SpringBoot
SpringBoot的设计目的是用来简化新Spring应用的初始搭建以及开发过程。
该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架
2.使用SpringBoot有什么好处
简单、快速、方便
不需要配置web.xml,加载spring和spring mvc、配置数据库连接、配置spring事务、配置加载配置文件的读取,开启注解配置日志文件、配置完成之后部署tomcat 调试
几个配置直接搭建完成
二、SpringBoot入门与配置要点
1.构建工程
可以打开全量的配置,选你需要的功能,然后一键下载工程
生成并用maven项目导入,结构如下(以最近搭建的推送平台服务为例)
java:业务代码,访问控制,主入口为PushServiceApplication,可以直接用这个类来启动
resources:配置目录和静态资源
test:单元测试目录
pom:默认已经引用了springboot的依赖,可以选择打包类型jar还是war
1
2
3 1
2<packaging>war</packaging>
3
在controller中配置接口
另外可以添加一个CORSFilter来支持跨域等功能,实现前后端分离。
启动:可以打成jar包使用java -jar启动,也可以达成war包放入tomcat启动。
2.配置要点
配置文件
在
可以配置我们常用的端口,工程路径,数据库配置,redis配置,mybatis配置和其他需要的自定义配置等。
另外还有一种YAML格式的配置,以大纲缩进形式来表示。
在应用中可以通过用**@Value**来加载自定义参数。
多环境
对开发测试生产等写多个配置文件,通过端口不通来选择启动哪个环境。
加载外部配置
可以通过Spring Cloud Config来加载外部配置,让单个项目干净,易维护。
三、SpringBoot的监控与管理要点
SpringBoot使用spring-boot-starter-actuator来实现监控,减少监控系统开发量。
通过pom引入后会自建可访问的管理端点,比如/health。
1.原生端点
应用配置类
静态报告
/autoconfig: 自动化配置报告,有成功和不成功的信息
/beans: 创建的所有Bean
/configprops: 属性信息报告,看到所有数据的名称和值
/env: 获取所有可用的环境属性报告,包含环境变量、jvm、应用配置属性、命令行参数等
/mappings: 所有SpringMVC的控制器映射关系
/info: 反回自定义信息,在配置文件中通过info前缀设置
度量指标类
动态报告
/mertics: 内存、线程、垃圾回收信息,还可以统计接口访问次数等
/health: 应用健康信息,会根据依赖关系自动装配,比如磁盘,dataSource,Mongo,redis,rabbit,solr等,也可以自己实现
/dump: 运行中的线程信息
/trace: HTTP跟踪信息
操作控制类
需要在配置中开启才行,也需要一些保护机制
/shutdown: 关闭应用
小结
使用spring boot可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用sping boot非常适合构建微服务。