SpringBoot中配置freemarker忽略自动配置

SpringBoot视图渲染技术全解析:Thymeleaf与FreeMarker实战指南 在Web应用开发中,视图渲染是将服务器端数据模型转换为客户端可呈现内容(如HTML、JSON)的核心过程,其原理基于模板引擎与数据模型的动态结合。这项技术对于构建动态页面、管理后台及服务端生成报表等场景具有重要价值,能显著提升开发效率与系统可维护性。SpringBoot作为主流Java框架,通过ViewResolver机制深度整合了多种视图技术,为不同应用场景提供了一站式解决方案。其中,Thymeleaf凭借其自然模板特性与Spring生态的深度集成,成为现代Web应用开发的首选;而FreeMarker则以 阅读详情

问题出现

在开发项目过程中,今天在启动一个SpringBoot项目时,发现SpringBoot项目启动后,在控制台看到这样一个警告告警:

2022-09-30 14:30:32.956 [main] WARN  o.s.b.a.freemarker.FreeMarkerAutoConfiguration:65 - Cannot find template location(s): [classpath:/templates] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false)

针对于[main] WARN这种告警,其实你可以忽略不必管它。但你如果不想看到它,想知道什么原因的话。其实这个提示还是比较明确的。

问题思考

首先看下这个告警出现的原因,追寻这个告警,可以大体来猜测下这个类所出现的路径——o.s.b.a (最笨的方法就是去依赖库每个包看下)根据这个我们其实是大题上可以猜测出来是这个类所指:org.springframework.boot.autoconfigure.freemarker

其实就是每个包的包名称首字母的缩写,找到这里,再来看下这里是哪一个文件freemarker.FreeMarkerAutoConfiguration:65 看到这里,是不是心里有了明镜?在freemarker文件夹下面的FreeMarkerAutoConfiguration.java类中的第65行。追寻这个意思,我们可以循着他看到我下面的图。

再来看看这个警告出现的意思,在检查FreeMarker模版时,在classpath:/templates找不到本地模版位置,请添加他或者设置spring.freemarker.checkTemplateLocation=false ,(白话其实就是不检查),当我知道问题出现的位置以及问题出现的原因时,那么我们就开始手动解决他吧。

解决方法

方法一

1、在项目的 /src/main/resources/templates 目录下添加一个模板文件,比如xxx.jsp 或 xxx.ftl 的模版文件(其实,第1步可以不用做,可以直接使用2步骤来处理,我个人也比较推荐使用第二种方式)。

方法二

2、打开项目配置文件 application.properties(或者有的是application.yml、bootstrap.yml),有的人可能喜欢使用 .yml 或者.yaml格式的。

在配置文件中,增加如下配置:

spring.freemarker.checkTemplateLocation=false

或者

spring:
  application:
    name: xxx
  cloud:
    nacos:
      config:
        server-addr: xxx
            discovery:
                server-addr: xxx
  # 在Spring的配置项下面配置检查本地模版文件为false即可
    freemarker:
        checkTemplateLocation: false

如果需要配置FreeMarker模版作为模版引擎,我们可以按照下面的方式来处理。除了FreeMarker模版引擎,其实我们也还可以使用thymeleaf模版引擎,这里不再赘述。

spring:
    freemarker:
    # req访问request
        request-context-attribute: req  
    # 后缀名
    suffix: .html  
    content-type: text/html
    enabled: true
        # 缓存配置
    cache: false 
    # 模板加载路径 按需配置(这里就是我们上面的忽略配置)
    template-loader-path: classpath:/templates/ 
    # 编码格式
    charset: UTF-8 
    settings:
        # 数字格式化,无小数点
        number_format: '0.##'   

方法三

3、第三种方式就是在我们的启动入口配置,此时我们只想用freemarker来渲染处理xml文件,但是不想使用它作为模板引擎,这时需要关掉freemarker 的自动装配。

@SpringBootApplication(exclude = {FreeMarkerAutoConfiguration.class})

方法四

4、这第四种方式,也是比较简单的,一劳永逸,那就是关闭这种告警,眼不见心不烦,针对有洁癖的可以使用这种方式。这种方式就是关闭告警。

Mac模式下:InteIIiJ IDEA ==> Preferences... ==>Editor ==> Inspections ==>

或者快捷方式:command(⌘)+ ,

配置Spring、SpringBoot、SpringCloud等错误、告警信息

配置FreeMarker等错误、告警信息

总结

有问题不怕,要相信解决办法总比问题多。

SpringBoot整合FreeMarker&&FreeMarkerAutoConfiguration 自动装配相关源码跟踪分析 关于Freemarker这篇不做介绍和解释,改篇聊聊。 本篇讲SpringBoot整合Freemarker 这里先把代码显示咯,再做分析解释 就不从新建项目讲起来了,这样废话就太多了,就是记得加上SpringBoot官方给的Freemarker的依赖。 结构 依赖 新建时,没加也问题不大,我们自己在pom.xml中手动加上就好 <dependency> <groupI... 阅读详情

相关推荐

Spring配置Freemarker视图解析器,前台页面全部使用freemarker渲染

Spring配置Freemarker视图解析器,前台页面全部使用freemarker渲染

Spring Boot 的FreeMarker

在访问根路径时,HomeController 返回 index 视图文件,Spring Boot 在通过 FreeMarker 视图引擎将该视图渲染为 HTML 页面并返回给客户端。在 Spring Boot 应用中,使用 @Controller 注解创建一个控制器,并使用 @RequestMapping 注解来映射 URL。在这个视图文件中,我们使用 FreeMarker 的模板语法来渲染 HTML 页面。是 FreeMarker 的变量,通过后端控制器传递过来并渲染到页面上。,即可看到渲染后的页面。

canduecho的专栏 1835

OASIS协议标准文档的解读_第一部分

OASIS标准协议的文档的解读。完整原协议的中文翻译和解读。

洋葱的专栏 4904

Springboot集成Freemarker|超级详细,建议收藏

上一期,我是带着大家入门了SpringBoot集成Kafka,今天我再来一期Freemarker的零基础教学吧。不知道大家对kafka有多少了解,反正我就是从搭建开始,然后再加一个简单演示,这就算是带着大家了个门哈,剩下的我再后边慢慢出教程给大家说。FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

SuiHao 8800

家长必看!用RouterOS轻松屏蔽不良网站,保护孩子上网安全

本文为家长提供了一份详细的RouterOS路由器配置指南,旨在通过技术手段保护儿童上网安全。文章核心介绍了如何利用RouterOS的DNS静态条目功能,轻松实现禁止访问特定不良网站,并结合防火墙时间规则,为孩子构建一个纯净、可控的家庭网络环境,操作简单,无需专业背景。

weixin_28363123的博客 1269

告别Colmap!在ROS2 Humble上,用Fast-LIVO2直接为3D Gaussian Splatting准备数据全流程

本文详细介绍了在ROS2 Humble环境下,使用Fast-LIVO2为3D Gaussian Splatting(3DGS)准备数据的全流程。通过优化Fast-LIVO2配置、实时数据同步机制和3DGS训练参数,显著提升了三维重建效率和质量,相比传统Colmap流程节省95%以上的预处理时间。适用于Ubuntu22.04系统,适合机器人及自动驾驶领域的三维重建应用。

weixin_28688385的博客 589

【Java】SpringBoot集成freemarker|这下总该学会了吧

SpringBoot集成freemarker,包含freemarker语法和源码测试,拉取可用。

m0_64210833的博客 8436

TP4054充电电路发热严重?手把手教你调整电阻值降低温度(附实测数据)

本文针对TP4054锂电池充电电路发热严重的问题,提供了详细的排错与解决方案。通过分析发热原理,指出核心在于PROG引脚电阻值设定,并手把手指导如何计算和选择正确的电阻以降低充电电流与温度。文末附有不同电阻下的实测温度与性能数据,为电子爱好者和工程师提供了实用的调试参考。

p4q5r6s7t的博客 406

41、springboot 整合 FreeMarker 模版技术

springboot 整合 FreeMarker 模版技术

Java 领域技术分享 1100

【图像拼接】论文精读:As-Rigid-As-Possible Shape Manipulation(ARAP)

文章目录前言1.摘要2.算法的总体流程总结 前言 图像变形算法 1.摘要 论文提出了一个二维图形互动系统。图形是建立在三角形网格上的,用户只需移动几个网格顶点(限制顶点),系统通过最小化每个三角形的误差计算网格剩余顶点(自由顶点)的位置。 算法分两步: 适当旋转每个三角形。 调整大小。 关键是使用二次度量误差将最小化问题转换成线性方程组,然后再解这个方程组。 刚性形状变形是很难的,论文的研究使其变得简单。 2.算法的总体流程 总的流程分三步: 将图形用三角形网格覆盖 选择三个点(限制顶点) 操纵限

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 15万+

案例:无人船测量点位数据+ArcGIS 10.6软件生成三维水下地形的两种方法

通常情况下,采用无人船进行水下地形测量,得到的是离散的,具有点号、日期、时间、东坐标(E)、北坐标(N)、水面高程、水下高程和水深等信息的点位数据,该数据一般由航带点位数据加水岸线组成,如下图所示: 原始点位数据格式如下: 下面讲解在ArcGIS软件中生成三维水下地形的两种常用方法。 一、构建不规则三角网(Tin) 1、创建Tin 生成的Tin: 2、Tin转栅格 Tin to Raster: 三维展示: 二、空间插值 栅格插值常用的方法有:克里...

智慧空间实验室 6755

SpringBoot Freemarker基础配置与使用

1.基础配置 1.1引入依赖 <!-- 引入freemarker模板引擎的依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId>...

qq_44784185的博客 4713

《YOLOv8-seg改进》专栏指导书册 &手把手创新教程

学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研;1)手把手教你如何训练YOLOv8-seg;2)模型创新,提升分割性能;3)独家自研模块助力分割;

会AI的学姐 3814

springboot+freemarker快速入门

springboot+freemarker快速入门1.引入pom文件2.application.yml配置文件3.src/main/resources 目录 templates(默认在这个位置找模板)下,创建 test.ftl4.建立Student学生实体类5.编写Cotroller类6.FreemarkerTestApplication启动类启动6.FreeMarker核心指令 1.引入pom文...

pytou的博客 553

零基础学习simulink-- 四旋翼和六旋翼无人机的建模与动力学分析

通过上述代码实现,您可以逐步创建和搭建一个多旋翼无人机(如四旋翼、六旋翼)的动力学模型,并结合自适应控制器进行仿真。该模型不仅考虑了无人机的基本动力学行为,还引入了空气阻力、螺旋桨之间的相互作用以及气流干扰等复杂效应,使得仿真结果更加接近实际情况。Simulink 提供了强大的建模和仿真工具,使得控制系统工程师能够快速构建复杂的控制算法,并将其应用于实际工程中。多旋翼无人机动力学建模:建立四旋翼和六旋翼无人机的动力学模型,包括平移运动和旋转运动方程。升力和扭矩模型。

amy_mhd的博客 389

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

springboot系列文章(三)配置详解及yml语言使用自动配置原理

SpringBoot使用一个全局的配置文件,配置文件名是固定的; •application.properties •application.yml 配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好; YAML(YAML Ain't Markup Language) YAML A Markup Language:是一个标记语言 YAM...

kay三石 6683

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

SpringBoot +Freemarker+ Screw 生成数据库文档

HikariCPcom.zaxxerHikariCP3.4.5mysql8.0.20usernamerootpasswordrootdriverjdbc url生成文件类型HTML打开文件输出目录false生成模板freemarker文档名称 为空时:将采用[数据库名称-描述-版本号]作为文档名称测试文档名称描述数据库文档生成版本标题compilerun。

2401_84009215的博客 1470

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

springboot集成freemarker,生成静态化页面

FreeMarker 是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言,不是像PHP那样成熟的编程语言。那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。

PiggyOne123的博客 2245

springboot+freemarker 增加自定义变量和自定义

这个主要是因为喜欢在spring+springmvc中用freemarker时,增加${base} ,${jsPath},${cssPath}等等全局的变量来再也没使用,这样不用使用相对路径,或者有统一的资源服务器的时候,可以动态的改变路径。还有自己定义一些方法在freemarker模板中使用,例如${conver('userType',e.user.type)},我们可以在后端对一些参数值进行转

ScDream 1万+

SpringBoot使用Freemarker导出word模板(OpenXML)

在线 XML 格式化 | 菜鸟工具 (runoob.com)

JohnGene的博客 3025

SpringBoot整合模板引擎(Thymeleaf、Freemarker、JSP)

前后端分离可以说是当今最主流的思想(前端写前端的代码,后端写后端的代码,之间互不影响)。在传统的 Java Web 开发中,通常都是使用 JSP 来进行前台页面的开发。但 JSP 页面是HTML+Java一起写的,显然不符合“前后端分离”的思想。因此在现在的 Java Web 开发中,JSP的使用已经逐渐变小。其中 Thymeleaf 就是其中较为优秀的代替JSP使用的技术之一。Thymeleaf 它是一种模板引擎,用来渲染 XML、XHTML、HTML5、JavaScript、CSS 甚至纯文本。

yu的博客 3979

SpringBoot以freemarker为word的模板下载文件到本地(1)

这篇博客是把数据库中的数据在后端拼装成word,下载到本地电脑,不是下载到用户端, 区别就是下载到本地的直接到电脑了,下载到用户端的是下载到浏览器上, 存储的地方也不一样,下载到本地的你可以指定位置,而下载到用户端的直接看浏览器的存储位置在哪里 其实网上有很多这样的教程 springboot使用freemarker模板生成word文档这篇文章就可以, 一、但是因为升级版本问题,有些已经过时了 ...

胖墩的IT博客 1240

springboot模板(thymeleaf和freemarker)

Thymeleaf模板 Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。 Thymeleaf的主要目标是为 您的开发工作流程带来优雅的 自然模板 -HTML可以在浏览器中正确显示,也可以作为静态原型工作,从而可以在开发团队中加强协作。 Thymeleaf拥有适用于Spring Framework的模块,与您喜欢的工具的大量集成以及插入您自己的功能的能力,对于现代HTML...

weixin_45457509的博客 238

SpringBoot常用配置项

在springBoot项目常用的配置项,很全面,在application.properties中修改即可,配置项后用等号直接连接配置的值即可, 如:spring.thymeleaf.prefix=classpath:/templates/ server server.address 指定server绑定的地址 server.compression.enabled 是否开启压缩,默认为f...

蔡小波的博客 3296

freemarker入门案例

’}表示,如果stu或bestFriend或name为空默认显示空字符串。4、文本,仅文本信息,这些不是freemarker的注释、插值、FTL指令的内容会被freemarker忽略解析,直接输出内容。3、FTL指令:和HTML标记类似,名字前加#予以区分,Freemarker会解析标签中的表达式或逻辑。point是数字型,使用${point}会显示这个数字的值,每三位使用逗号分隔。如果不想显示为每三位分隔的数字,可以使用c函数将数字型转成字符串输出。‘’}表示如果name为空显示空字符串。

m0_51492817的博客 914
上一篇: 蚂蚁金服内部MySQL面试指南-中高级开发者的晋升加薪利器
下一篇: Java阻塞队列详解
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值