zoukankan      html  css  js  c++  java
  • Spring

    1. 概述

    1. spring 配合 thymeleaf 关闭页面缓存

    2. 背景

    1. 最近复习 spring

    2. 找了本书叫 spring in action 5th

      1. 本人水平有限
      2. 书还写得那么难
    3. 调试中遇到了问题

      1. 问题1: 我每次改代码, 都要重启
      2. 问题2: 我每次改页面, 都要重启
    4. 因为 问题2 对我来说, 优先级最高, 我首先解决它

    3. 环境

    1. os

      1. win10
    2. jdk

      1. 1.8
    3. ide

      1. ida 2018.1
    4. spring

      1. spring boot
        1. 2.1.7 release
      2. 组件
        1. thymeleaf
        2. starter-web
        3. devtool
        4. starter-test
    5. browser

      1. firefox
        1. 70.0
    6. ref

      1. spring in action 5th

    4. 问题

    1. 期望

      1. 在 ide 修改页面
      2. 在浏览器直接刷新, 就能看到页面调整
    2. 需要保证

      1. 浏览器的正确配置
        1. 浏览器
          1. 确保每次请求, 都是新鲜的页面
      2. spring 和 thymeleaf 的正确配置
        1. spring
          1. 确保 thymeleaf 的修改能及时

    5. 问题解决

    1. 浏览器

      1. 思路1: 每次访问后清空缓存

        1. 结果
          1. 否决
            1. 太麻烦了
      2. 思路2: 通过浏览器配置, 确保每次请求, 都是新页面

        1. 结果

          1. 这个方案不错
          2. 而且也有配置项可以做到
          3. 因为很顺利, 就不细说了, 照着配置一步步来就行
        2. ref

          1. 设置火狐浏览器不缓存js与html
    2. thymeleaf

      1. 思路: 找到配置项, 配置一下就好了
        1. 结果

          1. 妈的找死我了
          2. 百度了好多, 都没用
            1. 千篇一律, 只有一条参数

              spring.thymeleaf.cache=false
              
            2. 结果配置了根本不生效

            3. 这感觉太难受了, 真的想骂人

        2. 最后结果

          1. ref
            1. Thymeleaf templates cache even when spring.template.cache: false

              1. 一个叫 oak1980 的丹麦老哥, 给了一个配置如下

                # Templates reloading during development
                spring.thymeleaf.prefix=file:src/main/resources/templates/
                spring.thymeleaf.cache=false
                
                # Static resources reloading during development
                spring.resources.static-locations=file:src/main/resources/static/
                spring.resources.cache-period=0
                
            2. 按照这个老哥的做法, 配置终于生效

    ps

    1. 妈的为啥我百度的头几个, 没有一个把事说明白

      1. 大部分只给了 cache = false 的那条配置
      2. 其他提到 prefix 的, 还都把 prefix 注释了
      3. 配置的 ide, 组件, 版本也没有
      4. 找了好半天, 问题是这种都是调试常识之类的东西
    2. spring 如何确认运行阶段生效了哪些配置项

      1. 这个找了半天, 也没找到
      2. 我总觉得可以...
    尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出
  • 相关阅读:
    python连接mysql循环插入千万条数据脚本
    jmeter多用户登录并发测试
    appium元素定位总结
    appium元素定位工具
    修复mysql的表
    mysql 数据去重
    MySQL表结构(含数据类型、字段备注注释)导出成Excel
    linux top 的用法
    linux 查看 cpu
    linux 怎么在后台添加运行脚本,即使关机也可以用
  • 原文地址:https://www.cnblogs.com/xy14/p/11746796.html
Copyright © 2011-2022 走看看