freemarker

SpringBoot 热部署配置

情到浓时终转凉″ 提交于 2020-04-12 18:11:07
springboot热部署配置 目前我所使用的方式的添加 devtools jar包, 暂不使用其他方式。 添加jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>true</scope> <optional>true</optional> <!-- 其他项目引入此项目时不会携带此jar包,可避免jar冲突--> </dependency> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <!--使热部署生效 --> </configuration> </plugin> (可选) 配置application.yml spring: devtools: restart: enabled: true #开启重启,热部署生效 additional-paths: src/main/java #重启目录 exclude: WEB-INF/** # classpath目录下的WEB

基于Quartz编写一个可复用的分布式调度任务管理WebUI组件

不打扰是莪最后的温柔 提交于 2020-04-12 07:49:52
前提 创业小团队,无论选择任何方案,都优先考虑节省成本。关于分布式定时调度框架,成熟的候选方案有 XXL-JOB 、 Easy Scheduler 、 Light Task Scheduler 和 Elastic Job 等等,其实这些之前都在生产环境使用过。但是想要搭建高可用的分布式调度平台,这些框架(无论是否去中心化)都需要额外的服务器资源去部署中心调度管理服务实例,甚至有时候还会依赖一些中间件如 Zookeeper 。回想之前花过一段时间看 Quartz 的源码去分析它的线程模型,想到了它可以基于 MySQL ,通过一个不是很推荐的 X 锁方案( SELECT FOR UPDATE 加锁)实现服务集群中单个触发器只有一个节点(加锁成功的那个节点)能够执行,这样子,就能够仅仅依赖于现有的 MySQL 实例资源实现分布式调度任务管理。一般来说,有关系型数据保存需求的业务应用都会有自己的 MySQL 实例,这样子就能几乎零成本引入一个分布式调度管理模块。某个加班的周六下午敲定了初步方案之后,花了几个小时把这个轮子造出来了,效果如下: 方案设计 先说说用到的所有依赖: Uikit :选用的前端的一个轻量级的 UI 框架,主要是考虑到轻量、文档和组件相对齐全。 JQuery :选用 js 框架,原因只有一个:简单。 Freemarker :模板引擎,主观上比 Jsp 和

Unit Testing Freemarker templates in SpringBoot - unable to initialize freemarker configuration

我与影子孤独终老i 提交于 2020-04-10 14:57:26
问题 we are using Freemarker for generating the HTML code for the emails our application is going to be sending. Our usage and configuration is based off of https://github.com/hdineth/SpringBoot-freemaker-email-send Particularly: package com.example.techmagister.sendingemail.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ResourceLoader; import org.springframework.ui.freemarker

Unit Testing Freemarker templates in SpringBoot - unable to initialize freemarker configuration

馋奶兔 提交于 2020-04-10 14:57:08
问题 we are using Freemarker for generating the HTML code for the emails our application is going to be sending. Our usage and configuration is based off of https://github.com/hdineth/SpringBoot-freemaker-email-send Particularly: package com.example.techmagister.sendingemail.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ResourceLoader; import org.springframework.ui.freemarker

Add Values to a Sequence?

梦想与她 提交于 2020-04-07 23:42:00
问题 I've created a FreeMarker sequence in my template: <#assign x = ["red", 16, "blue", "cyan"]> How do I add additional values to the sequence? 回答1: You have to create a new sequence by concatenating x and a sequence containing only the new element: <#assign x = x + [ "green" ] /> 回答2: FreeMarker is basically a write-once language. It tries very hard to make it impossible to manipulate data, and that includes modifying arrays or maps, etc. You can work around this, however, through concatenation

Spring boot整合视图层

左心房为你撑大大i 提交于 2020-04-04 02:31:59
一般前后端分离开发很少会使用到页面模板,但是在特定的场景还是会使用,比如邮件发送,比如支付等,那么Spring Boot中支持哪些页面模板呢? Freemarker Thymeleaf jsp 目前就支持这三种模板,他们是如何使用的,我们一个一个看 首先整合Freemarker,第一步创建Spring Boot项目引入两个依赖,如下图: Spring Boot对Freemarker进行了自动化配置,先了解他是如何体现的,以便帮助我们理解? 我们可以双击shift,去搜FreemarkerAutoConfiguration,这是Freemarker的一个自动化配置类,里面就两个方法,一个是检查模板的位置,一个是获取这个位置。很简单,那么他的自动化体现在哪里,在最上边的注解里面:@ConditionalOnClass:这个意思就是当这两个.class文件存在的时候,才会执行下面的方法,也就是当pom.xml 中有有了Freemarker的依赖的时候,就会存在这两个jar文件. 来源: https://www.cnblogs.com/javazl/p/12630135.html

freemarker常见语法大全

笑着哭i 提交于 2020-04-01 22:37:05
FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} ${book.name?if_exists } //用于判断如果存在,就输出这个值 ${book.name?default(‘xxx’)}//默认值xxx ${book.name!"xxx"}//默认值xxx ${book.date?string('yyyy-MM-dd')} //日期格式 ${book?string.number} 20 //三种不同的数字格式 ${book?string.currency}--<#-- $20.00 --> ${book?string.percent}—<#-- 20% --> <#assign foo=ture /> //声明变量,插入布尔值进行显示 ${foo?string("yes","no")} <#-- yes --> 大小比较符号使用需要注意:(xml的原因),可以用于比较数字和日期 使用lt、lte、gt和gte来替代<、<=、>和>= 也可以使用括号<#if (x>y)> 内置函数: 调用区别于属性的访问,使用?代替. 常见的一些内置函数 对于字符串 html-对字符串进行HTML编码 cap_first-使字符串第一个字母大写 lower_case-将字符串转换成小写 trim

Spring Boot整合静态化技术FreeMarker

别等时光非礼了梦想. 提交于 2020-03-24 08:13:22
原文链接: http://www.yiidian.com/springboot/springboot-freemarker.html 本文讲解如何在Spring Boot整合FreeMarker。 1 创建项目,导入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.yiidian</groupId> <artifactId>ch03_05_springboot_freemarker</artifactId> <version>1.0-SNAPSHOT</version> <!-- 导入springboot父工程. 注意:任何的SpringBoot工程都必须有的!!! --> <!-- 父工程的作用:锁定起步的依赖的版本号,并没有真正到依赖 -->

Spring Boot整合静态化技术FreeMarker

做~自己de王妃 提交于 2020-03-24 08:10:50
3 月,跳不动了?>>> 原文链接: http://www.yiidian.com/springboot/springboot-freemarker.html 本文讲解如何在Spring Boot整合FreeMarker。 1 创建项目,导入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.yiidian</groupId> <artifactId>ch03_05_springboot_freemarker</artifactId> <version>1.0-SNAPSHOT</version> <!-- 导入springboot父工程. 注意:任何的SpringBoot工程都必须有的!!! --> <!-- 父工程的作用:锁定起步的依赖的版本号

freemarker常见语法大全

点点圈 提交于 2020-03-24 03:22:14
FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} ${book.name?if_exists } //用于判断如果存在,就输出这个值 ${book.name?default(‘xxx’)}//默认值xxx ${book.name!"xxx"}//默认值xxx ${book.date?string('yyyy-MM-dd')} //日期格式 ${book?string.number} 20 //三种不同的数字格式 ${book?string.currency}--<#-- $20.00 --> ${book?string.percent}—<#-- 20% --> <#assign foo=ture /> //声明变量,插入布尔值进行显示 ${foo?string("yes","no")} <#-- yes --> 大小比较符号使用需要注意:(xml的原因),可以用于比较数字和日期 使用lt、lte、gt和gte来替代<、<=、>和>= 也可以使用括号<#if (x>y)> 内置函数: 调用区别于属性的访问,使用?代替. 常见的一些内置函数 对于字符串 html-对字符串进行HTML编码 cap_first-使字符串第一个字母大写 lower_case-将字符串转换成小写 trim