SpringBoot的热部署:<实时更新>
原理:监听class文件是否发生改变 -- 版本号或者修改时间
class文件发生改变 ,就使用classloader进行重新读取
应用场景:
本地开发,提高效率,不用重新启动服务器
缺点:
占用资源,会导致卡顿
热部署框架:
spring-boot-devtools
1,引入依赖:<引入依赖后默认开启>
compile group: 'org.springframework.boot', name: 'spring-boot-devtools', version: '2.0.4.RELEASE'
2,gradle根中加入方法:
bootRun {
addResources = true
}
3,关闭软件自带部分指令热部署
4,IDEA中删除build和out文件重新编译测试
SpringBoot性能优化:
启动项优化<扫包优化>:
@ComponentScan(basePackages={....})
@EnableAutoConfiguration 组合使用与@SpringBootApplication
定位具体包下的扫描要快于@SpringBootApplication
SpringBoot YML使用:
yml比properties更加简洁节省资源
<树根分支的写法>
关于SpringBoot项目在外部Tomcat运行:
对项目进行打包 war包,然后导入到Tomcat中去进行导入,编译,启动外部Tomcat访问
jar包冲突问题:
例子:Spring2.0以上内置Tomcat是8.5以上。 向下兼容
SpringBoot Actuator监控中心:
作用:对于Http服务请求的监控<堆内存,线程,日志管理等等>
检测服务器连接
检测Bean的数目
统计mapping的数量,http接口...
SpringBoot—Actuator没有界面,返回json格式:
Admin-UI 将监控可视化
搭建:
设置依赖:
compile group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: '2.1.1.RELEASE'
开启权限:
management:
endpoints:
web:
exposure:
include: "*"