Spring Boot项目中自动reload模板文件

最近在研究Spring Boot, 这东西挺好的, 一切都从一个main方法开始, 把很多东西都集成在里面了.

下面是我研究时写的一些代码.
[url]https://github.com/zjumty/spring-boot-demo[/url]

有兴趣的可以从上面的代码开始创建项目, 比直接从头自己写快一些.
集成了MyBatis, jetty, freemarker.

但是在学习过程中发现一个问题, 就是改了ftl模板, 刷新页面没有自动更新(我用的IDEA).
不像IDEA对典型web应用程序的支持, 只要改了ftl的内容, 转头刷新页面就出来了.
当然要把Freemarker的属性template_update_delay设置为0.

在Spring Boot的文档中说只要在application.properties或application.yml中设置如下属性就可以:


spring.freemarker.cache=false


我设置了也不能自动刷新. template_update_delay同时设置也不行.

后来才发现: 你需要Make一下才可以. IDEA快捷键Ctrl+F9

其实Spring-Boot还支持hotswap. 需要配置一下, 你就可以不用重启程序就可以把修改的代码替换为新的.

首先修改POM文件:

<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.3.RELEASE</version>
</dependency>

plugin也改一下

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.3.RELEASE</version>
</dependency>
</dependencies>
</plugin>

我用的是java8, 如果之前的jdk可以用1.2.2.RELEASE也可以. 我在写这篇文章时, 1.2.3还没有放到maven的官方库里, 只能从spring的库里得到:


<repositories>
<repository>
<id>spring-release</id>
<url>http://repo.spring.io/release</url>
</repository>
</repositories>

<pluginRepositories>
<pluginRepository>
<id>spring-release</id>
<url>http://repo.spring.io/release</url>
</pluginRepository>
</pluginRepositories>


然后把springloaded-1.2.3.RELEASE.jar下载下来, 放到项目的lib目录, 名字自己决定.
然后把IDEA的run参数里VM参数设置为:

-javaagent:.\lib\springloaded-1.2.3.RELEASE.jar -noverify

然后启动就可以了.

在这里之后直接改java文件, CTRL+F9编译, 然后刷新页面就可以了.


[img]http://dl2.iteye.com/upload/attachment/0107/1563/9e277edb-84b9-307f-ad68-fdd4c3984091.jpg[/img]


[img]http://dl2.iteye.com/upload/attachment/0107/1565/42b69b08-053a-3494-b5ae-67f5be58abe5.jpg[/img]

直接修改Java文件, Ctrl+F9
[img]http://dl2.iteye.com/upload/attachment/0107/1567/535c8faa-102a-3c06-8117-43d4bd3278bb.jpg[/img]


[img]http://dl2.iteye.com/upload/attachment/0107/1569/8ea6a2b3-f02b-3fea-85e6-b11e1e09c4a2.jpg[/img]

最后要说的是, 这个HotSwap功能时不时的会出问题. 反正用不用自己决定啦. 我也不是很推荐.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值