freemarker热部署(Intellij Idea)

IntelliJ + springmvc + freemarker 开发环境 缓存设置

2015-05-26 13:31

通过阅读源码搞定了

  1. 先设置springmvc的缓存控制。这是最高优先级的缓存控制。一旦springmvc发现没有缓存开启,就会进行cache,如果发现缓存没开启,则会每次生成一个view(通过调用freemarker的方法来进行)。
  2. 再设置freemakre的缓存控制。freemakre通过一个时间长度来控制缓存
  3. 在上面两步完成之后,一般来说就可以了。但是还有一个问题是,web访问的是target目录下的classpath和WEB-INFO目录,而我们开发环境修改的模板文件不是target目录下。这就要求IntelliJ要有热部署功能,也就是在修改文件后,能自动更新target目录下的文件数据。

springmvc 设置解析器 缓存设置

<bean id="viewResolverFtl" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="suffix" value=".ftl"/>
    <property name="order" value="0"/>
    <property name="contentType" value="text/html;charset=UTF-8"/>
    <!-- 此变量值为pageContext.request, 页面使用方法:rc.contextPath -->
    <property name="requestContextAttribute" value="rc"/>
    <property name="cache" value="false"/>
</bean>

这里关键是让 cache设置为 false.

开发环境下为false, 线上环境是true, 避免所有缓存

freemarker 缓存设置

<!-- 配置FreeMarkerConfigurer -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="templateLoaderPath" value="/WEB-INF/freemarker/"/>
    <property name="freemarkerSettings">
        <props>
            <prop key="template_update_delay">0</prop>
        </props>
    </property>
</bean>

这里关键是设置 template_update_delay 为0 ,因此每次在刷新 free marker页面时,均会进行修改时间 的校验,判断是否应该重新载入。

IntelliJ 热部署设置

通过热部署,就可以在更改任意文件时,都不用重启,就可以将文件或数据拷贝到 target目录下。

时间: 2024-08-09 10:43:46

freemarker热部署(Intellij Idea)的相关文章

idea 关闭自动保存,未保存星号提醒, springboot + freemarker 热部署

1,自动保存 File > setting 去掉下图勾选 2,未保存文件星号提示 File > Settings 3,spring boot 项目 热部署 3.1,pom文件添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> 3.2,

spring-boot 热部署 intellij IDE

1.使用springloadded插件: 如何使用: a.先在ide里面部署好你的service,( mvn spring-boot:run) b.修改代码, c.command+F9(或build->make) 只要你make完后springloadded插件就能帮你重新部署好.当然你也可以通过设置intellij make when save(代码一修改就重新make,这个设置在Intellij->Preferences->Build,Excution,Deployment->

idea+springboot+freemarker热部署

第一步:在maven中加入devtools的依赖(这里我使用的是maven来管理项目) <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <!-- 该配置必须--> </c

springboot+freemarker热部署

1.在pom文件中添加 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency><plugin><groupId>org.springframework.boot<

安装IntelliJ IDEA热部署tomcat插件JreBel

最近试着使用IntelliJ IDEA这款IDE,网上说它是最好用的java开发工具~但奈何国内ecilpse市场占有率实在稳固,所以国内这个工具也就少数人在使用 当然使用起来跟ecilpse还是有很大差别的,特别的它新建一个project就是相对ecilpse的一个工作空间,这个到现在我还是不习惯~目测越扯越扯远了-,- 不过最不习惯的还是它用tomcat部署工程的时候,不能实现热部署,不说更改java文件,就是在页面更改一点东西加个标签什么的,都得重启tomcat才能刷新...天啊,这得浪费

SpringBoot项目在IntelliJ IDEA中实现热部署

spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动更快.其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader被丢弃,重新创建一个resta

Intellij + Jrebel6.0.2 热部署 + 2步破解

Intellij + Jrebel6.0.2 热部署 + 2步破解 一:准备软件 1.Intellij IDEA 14 (官网下载.自行破解).搜索这个的想必都有自己的Intellij. 2.Jrebel6.0.2 官方插件.下载:http://download.csdn.net/detail/chenghuaying/8661131 3.Jrebel6.0.2破解插件.下载:http://download.csdn.net/detail/chenghuaying/8661153 二:具体操作步

IntelliJ IDEA 的 Java 热部署插件 JRebel 安装及使用

JRebel 介绍 JRebel for Intellij JRebel 在 Java Web 开发中, 一般更新了 Java 文件后要手动重启 Tomcat 服务器, 才能生效,  自从有了 JRebel 这神器的出现, 不论是更新 class 类还是更新 Spring 配置文件都能做到立马生效,大大提高开发效率. 安装JRebel 设置过deployment后,server中会出现on frame deactivation, 然后就跟截图一样全部都选择Update classes and r

Intellij IDEA中实现热部署

JRebel 安装 下载IntelliJ IDEA的 JRebel插件: jr-ide-idea-6.2.0-idea-13-14.zip. 打开Intellij,进入 Intellij IDEA - Preferences - Plugins - Install plugin from disk 选择下载的 jr-ide-idea-6.2.0-idea-13-14.zip 进行安装. 完成jrebel的注册,获得14天的试用期. 破解 下载破解文件: jrebel.jar和jrebel.lic