1. 优化容器扫描加载
- 分模块
- 分包扫面,自下而上集成
- 替换使用内存数据库
- 使用延迟加载
2. 热部署
- 使用 jetty 插件
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.2.12.v20150709</version>
<configuration>
<stopKey>stop</stopKey>
<stopPort>4502</stopPort>
<webApp>
<contextPath>/</contextPath>
</webApp>
<httpConnector>
<port>8080</port>
</httpConnector>
<reload>manual</reload>
</configuration>
</plugin>
原来 jetty 插件有两个团体推出,现在更新使用 eclipse.org 的版本
- Spring Boot
不知道为什么已经取消模板的缓存,还是需要编译替换文件才能刷新
spring.devtools.restart.exclude=static/**,public/**
spring.devtools.restart.enabled=true
spring.freemarker.cache=false
spring.freemarker.suffix=.ftl
3. 热替换
- HotSpot
只能更改方法体,或者更改成员属性的参数
Debug 更改代码,然后重新编译类就可以替换
- Spring-Loaded
对方法 | 字段 | 构造器
进行添加 | 修改 | 删除
,类型 | 方法 | 字段 | 构造器
上的注解也允许修改
但是因为 Spring 的 IOC 原理,如果是注解的类还是需要重启容器才能起效
-javaagent:C:\Tools\springloaded-1.2.5.RELEASE.jar -noverify
需要配置下载的包,然后在使用 jetty 启动的时候指定参数
IDEA 使用 Ctrl+Shift+F9 编译类,如果增加移除类就需要编译整个包
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于