最近在研究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中设置如下属性就可以:
我设置了也不能自动刷新. template_update_delay同时设置也不行.
后来才发现: 你需要Make一下才可以. IDEA快捷键Ctrl+F9
其实Spring-Boot还支持hotswap. 需要配置一下, 你就可以不用重启程序就可以把修改的代码替换为新的.
首先修改POM文件:
plugin也改一下
我用的是java8, 如果之前的jdk可以用1.2.2.RELEASE也可以. 我在写这篇文章时, 1.2.3还没有放到maven的官方库里, 只能从spring的库里得到:
然后把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功能时不时的会出问题. 反正用不用自己决定啦. 我也不是很推荐.
下面是我研究时写的一些代码.
[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功能时不时的会出问题. 反正用不用自己决定啦. 我也不是很推荐.