相关笔记: Springboot2.4.4 application.yml YAML 模板 笔记
基本配置模板
spring.application.name=Project1
#default 8080
server.port=80
#default ~
server.servlet.context-path=
#default /
spring.mvc.servlet.path=/
#default /**
spring.mvc.static-path-pattern=/**
#default ~
server.servlet.encoding.charset=UTF-8
#default 30m
server.servlet.session.timeout=30m
#default ~
spring.session.timeout=30m
#default 200
server.tomcat.threads.max=16
#default 10
server.tomcat.threads.min-spare=3
#default UTF-8
server.tomcat.uri-encoding=UTF-8
#default 1MB
spring.servlet.multipart.max-file-size=10MB
#default 10MB
spring.servlet.multipart.max-request-size=10MB
#default 2MB
server.tomcat.max-http-form-post-size=2MB
#default false
spring.jpa.show-sql=false
#default ~ values:[ create , create-drop , update , validate ]
spring.jpa.hibernate.ddl-auto=update
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.profiles.active=dev,hsqldb
spring.profiles.include=mysql,sqlserver,redis
HTTPS SSL
server.port: 443
server.http-port: 8080
#bu neng yong server.https-port:443 faild
server.ssl.enabled: true
server.ssl.key-store: classpath:RSA123456PKCS12size4096.keytool
server.ssl.key-store-type: PKCS12
server.ssl.key-store-password: 123456
配置文件位置和优先级
文件位置 , 优先级从高到低
文件以application或application-xxx开头, .properties .yml .yaml 结尾
- file:…/config
- file:…/
- classpath:…/config
- classpath…/
所有, 优先级从高到低
- 命令行参数
- 来自java:comp/env属性
- JAVA system.setProperty()
- 操作系统环境变量
- RandomValuePropertySource配置的random.*属性值
- jar包所在文件夹的config文件夹
- jar包所在文件夹
- classpath文件夹下的config文件夹
- classpath文件夹
- @Configuration注解类上的@PropertySource
如何引入其它配置文件
sping.profiles.active 或 spring.profiles.include
示例:
spring.profiles.active=a,b,c
上面这条可以使👇
- application-a.properties
- application-a.yml
- application-a.yaml
- application-b.properties
- application-b.yml
- application-b.yaml
- application-c.properties
- application-c.yml
- application-c.yaml
👆9个配置文件生效 , 也可以用include 👇
spring.profiles.include=a,b,c
有时 ,文件不会自动更新到 target 目录, 可以用maven clean compile一下
关于 include 和 active 的区别
在Spring Boot中,spring.profiles.include属性可用于无条件添加活动配置文件(以逗号分隔)。 通过此属性添加的配置文件不会基于某些条件或命令行开关添加,而是始终添加。
Properties from spring.profile.include are always loaded regardless of what active profiles are chosen.
The properties from spring.profile.include override default properties.
The properties from active profiles override spring.profile.include and default properties.
spring.profile.include 的属性总是会被加载,无论 active profiles 有没有选中
spring.profile.include中的属性将覆盖默认属性。
active profiles的属性将覆盖spring.profile.include的属性和默认属性。
经测试, 用include引入的 会覆盖 用active引入的 profile中的同名属性
引入总结:
- 遇到同名属性 , properties会覆盖yml会覆盖yaml
- 遇到同名属性 , application-profile 会覆盖 application
- 遇到同名属性 , 用include引入的 会覆盖 用active引入的 profile中的同名属性
获取属性值
方式一 : Environment
@Autowired org.springframework.core.env.Environment enviroment;
String str = enviroment.getProperty("key")
方式二 : @Value("${key}")
可用在类区和方法参数上
@Value("${spring.datasource.driver-class-name}") String driver;
@ResponseBody@RequestMapping("method01")
public Object method01(@Value("${server.port}") String port) {return port+"<br/>"+driver;}
方式三 : @ConfigurationProperties
- 它是通过Setter方法完成注入的, 需要有Setter方法
- 如果属性级联,它只能用 prefix+最后一级名称 取值
三者混搭示例:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
@org.springframework.stereotype.Component
@org.springframework.boot.context.properties.ConfigurationProperties("server")
public class Component1 {
@Autowired org.springframework.core.env.Environment enviroment; // 注入Environment
String 来自ConfigurationProperties的值; // @ConfigurationProperties 是通过setter方法注入 只能匹配最后一级
public void setPort (String v) { this.来自ConfigurationProperties的值 = v; } //setPort匹配port , 前缀已设置server
@Value("${spring.datasource.driver-class-name}") String 来自AtVaule的值;
@Scheduled(fixedDelay = 1000)
public void method1() {
System.out.println("来自@ConfigurationProperties="+来自ConfigurationProperties的值);
System.out.println("来自enviroment.getProperty="+enviroment.getProperty("server.servlet.encoding.charset"));
System.out.println("来自@Value="+来自AtVaule的值);
}
}
连接数据库
属性参考 Springboot2配置之 spring.datasource
给数据源取个名,默认是testdb 可以不写
spring.datasource.name=Default to "testdb"
使用默认连接池连接Mysql 8.0.x
1. Mysql 8.0.22 测试通过查看默认是什么连接池连接池
- @Autowired DataSource dataSource //注入dataSource
- System.out.println(dataSource); //打印 dataSource
- Springboot2.4.4下的结果是 : HikariDataSource (null) //Hikari
1.参考官方的, 参数全默认, url包含用户名密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost/test?user=minty&password=greatsqldb
2.用户名密码单独写
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.username=minty
spring.datasource.password=greatsqldb
3.省略库名,之后可以用 statement.execute(“use 库名”);
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost
spring.datasource.username=minty
spring.datasource.password=greatsqldb
端口是默认的 3306 的话可以不用写
库名可不写, 可在第一句Statement指定数据库, 如:statement.execute(“use db1”);
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost?user=user&password=password&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
4.driver都可以不写,会根据url自动判别
最简单版本
spring.datasource.url=jdbc:mysql://hostname?user=minty&password=greatsqldb
5.可以指定一些参数
- connectTimeout 默认为0, 一直等待连接
- socketTimeout 默认为0 , 一直等待结果返回
- autoReconnect=true 自动重连, 默认false
- useSSL 默认为true , 可不管
- useUnicode 默认为true , 可不管
- characterEncoding 默认为自动检测
characterEncoding =UTF-8 - zeroDateTimeBehavior 日期时间0值处理方式:
zeroDateTimeBehavior=CONVERT_TO_NULL 转换为null
zeroDateTimeBehavior=ROUND
zeroDateTimeBehavior=EXCEPTION 抛异常 - connectionTimeZone 默认Default is “LOCAL”. 以jvm时区为准
connectionTimeZone=SERVER , 以msql服务器为准
connectionTimeZone=GMT%2B8 %2B是"+"的转义 GMT+8
connectionTimeZone=Asia/Shanghai 上海时区 等同GMT%2B8
serverTimezone是旧版connectionTimeZone是新版,
serverTimezone目前作为connectionTimeZone的别名,目前还能用, 以后会被替代 - allowMultiQueries=false 默认false 不允许在语句中加 ; 分号
allowMultiQueries=true 允许加分号
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.43.254/db1?autoReconnect=true&characterEncoding =UTF-8&zeroDateTimeBehavior=CONVERT_TO_NULL&connectionTimeZone=Asia/Shanghai&allowMultiQueries=true
spring.datasource.username=kfepiza
spring.datasource.password=kfepiza
使用默认连接池连接 MySql5.7
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost?user=user&password=password&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
Hikari 连接池 配置模板
Hikari 属性参考
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private boolean isAllowPoolSuspension;
#该属性控制池是否可以通过JMX暂停和恢复。这对于某些故障转移自动化方案很有用。当池被暂停时,呼叫 getConnection()将不会超时,并将一直保持到池恢复为止。 默认值:false
# true可以使 ((HikariDataSource)dataSource).suspendPool(); 不抛异常
spring.datasource.hikari.allow-pool-suspension
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private boolean isAutoCommit;
# 此属性控制从池返回的连接的默认自动提交行为。它是一个布尔值。 默认值:true
spring.datasource.hikari.auto-commit
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile String catalog;
# 该属性设置默认目录为支持目录的概念数据库。如果未指定此属性,则使用由JDBC驱动程序定义的默认目录。 默认为empty:驱动程序默认
spring.datasource.hikari.catalog
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String connectionInitSql;
# 该属性设置一个SQL语句,在将每个新连接创建后,将其添加到池中之前执行该语句。如果这个SQL无效或引发异常,它将被视为连接失败并且将遵循标准重试逻辑。 默认值:无
spring.datasource.hikari.connection-init-sql
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String connectionTestQuery;
# 设置要执行的SQL查询以测试连接的有效性。 在某些数据库上,使用JDBC4 Connection.isValid()方法测试连接有效性可能更有效,因此建议使用。
# 如果您的驱动程序支持JDBC4,我们强烈建议您不要设置此属性。这是针对不支持JDBC4的“传统”驱动程序Connection.isValid() API。这是在连接从池中获得连接以确认与数据库的连接仍然存在之前将要执行的查询。再一次,尝试运行没有此属性的池,如果您的驱动程序不符合JDBC4的要求,HikariCP将记录一个错误以告知您。 默认值:无
spring.datasource.hikari.connection-test-query
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile long connectionTimeout;
# 此属性控制客户端(即您)将等待来自池的连接的最大毫秒数。如果在没有可用连接的情况下超过此时间,则会抛出SQLException。最低可接受的连接超时时间为250 ms。 默认值:30000(30秒)
# 调用 datasource.getConnection() 时的超时时间
spring.datasource.hikari.connection-timeout
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String dataSourceClassName;
# 这是DataSourceJDBC驱动程序提供的类的名称。请查阅您的特定JDBC驱动程序的文档以获取此类名称,或参阅下表。注XA数据源不受支持。XA需要像bitronix这样的真正的事务管理器 。请注意,如果您正在使用jdbcUrl“旧式”基于DriverManager的JDBC驱动程序配置,则不需要此属性 。 默认值:无
spring.datasource.hikari.data-source-class-name
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String dataSourceJndiName;
spring.datasource.hikari.data-source-j-n-d-i
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private Properties dataSourceProperties;
spring.datasource.hikari.data-source-properties
# HikariCP将尝试通过DriverManager仅基于驱动程序来解析驱动程序jdbcUrl,但对于一些较旧的驱动程序,driverClassName还必须指定它。除非您收到明显的错误消息,指出找不到驱动程序,否则请忽略此属性。 默认值:无
spring.datasource.hikari.driver-class-name
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String exceptionOverrideClassName;
spring.datasource.hikari.exception-override-class-name
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private Properties healthCheckProperties;
spring.datasource.hikari.health-check-properties
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private Object healthCheckRegistry;
spring.datasource.hikari.health-check-registry
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile long idleTimeout;
# 此属性控制允许连接在池中闲置的最长时间。 此设置仅适用于minimumIdle定义为小于maximumPoolSize。一旦池达到连接,空闲连接将不会退出minimumIdle。连接是否因闲置而退出,最大变化量为+30秒,平均变化量为+15秒。在超时之前,连接永远不会退出。值为0意味着空闲连接永远不会从池中删除。允许的最小值是10000ms(10秒)。 默认值:600000(10分钟)
spring.datasource.hikari.idle-timeout
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private long initializationFailTimeout;
# 如果池无法成功初始化连接,则此属性控制池是否将“快速失败”。任何正数都取为尝试获取初始连接的毫秒数; 应用程序线程将在此期间被阻止。如果在超时发生之前无法获取连接,则会引发异常。此超时被应用后的connectionTimeout 期。如果值为零(0),HikariCP将尝试获取并验证连接。如果获得连接但未通过验证,将抛出异常并且池未启动。但是,如果无法获得连接,则会启动该池,但后续获取连接的操作可能会失败。小于零的值将绕过任何初始连接尝试,并且在尝试获取后台连接时,池将立即启动。因此,以后努力获得连接可能会失败。 默认值:1
spring.datasource.hikari.initialization-fail-timeout
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private boolean isIsolateInternalQueries;
# 此属性确定HikariCP是否在其自己的事务中隔离内部池查询,例如连接活动测试。由于这些通常是只读查询,因此很少有必要将它们封装在自己的事务中。该属性仅适用于autoCommit禁用的情况。 默认值:false
spring.datasource.hikari.isolate-internal-queries
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String jdbcUrl;
# 该属性指示HikariCP使用“基于DriverManager的”配置。我们认为基于DataSource的配置由于各种原因是优越的,但对于许多部署来说,几乎没有显着差异。 在“旧”驱动程序中使用此属性时,您可能还需要设置该 driverClassName属性,但不要先尝试。 请注意,如果使用此属性,您仍然可以使用DataSource属性来配置您的驱动程序,实际上建议您使用URL本身中指定的驱动程序参数。 默认值:无
spring.datasource.hikari.jdbc-url
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile long leakDetectionThreshold;
# 此属性控制在记录消息之前连接可能离开池的时间量,表明可能存在连接泄漏。值为0意味着泄漏检测被禁用。启用泄漏检测的最低可接受值为2000(2秒)。 默认值:0
spring.datasource.hikari.leak-detection-threshold
# javax.sql.DataSource 接口标准有 void setLoginTimeout(int seconds) throws SQLException;
# 设置登录超时 , 这是datasource的标准方法
spring.datasource.hikari.login-timeout
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile long maxLifetime;
# 此属性控制池中连接的最大生存期。正在使用的连接永远不会退休,只有在关闭后才会被删除。在逐个连接的基础上,应用较小的负面衰减来避免池中的大量消失。 我们强烈建议设置此值,并且应该比任何数据库或基础设施规定的连接时间限制短几秒。 值为0表示没有最大寿命(无限寿命),当然是idleTimeout设定的主题。 默认值:1800000(30分钟)
spring.datasource.hikari.max-lifetime
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile int maxPoolSize;
# 此属性控制池中连接的最大生存期。正在使用的连接永远不会退休,只有在关闭后才会被删除。在逐个连接的基础上,应用较小的负面衰减来避免池中的大量消失。 我们强烈建议设置此值,并且应该比任何数据库或基础设施规定的连接时间限制短几秒。 值为0表示没有最大寿命(无限寿命),当然是idleTimeout设定的主题。 默认值:1800000(30分钟)
spring.datasource.hikari.maximum-pool-size
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private Object metricRegistry;
# 该属性仅通过编程配置或IoC容器可用。该属性允许您指定池使用的Codahale / Dropwizard 实例MetricRegistry来记录各种指标。有关 详细信息,请参阅Metrics维基页面。 默认值:无
spring.datasource.hikari.metric-registry
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private MetricsTrackerFactory metricsTrackerFactory;
# 指定 MetricsTrackerFactory 的实现类
spring.datasource.hikari.metrics-tracker-factory
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile int minIdle;
# minIdle初始值-1 , 后来if (minIdle < 0 || minIdle > maxPoolSize) { minIdle = maxPoolSize; } , 设为了maxPoolSize
# 该属性控制HikariCP尝试在池中维护的最小空闲连接数。如果空闲连接低于此值并且连接池中的总连接数少于此值maximumPoolSize,则HikariCP将尽最大努力快速高效地添加其他连接。但是,为了获得最佳性能和响应尖峰需求,我们建议不要设置此值,而是允许HikariCP充当固定大小的连接池。 默认值:与maximumPoolSize相同
spring.datasource.hikari.minimum-idle
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile String password;
# 此属性设置从基础驱动程序获取连接时使用的默认身份验证密码。请注意,对于DataSources,这通过调用DataSource.getConnection(username, password)基础DataSource 以非常确定的方式工作。但是,对于基于驱动程序的配置,每个驱动程序都不同。在基于驱动程序的情况下,HikariCP将使用此password属性来设置传递给驱动程序调用的password属性。如果这不是你所需要的,例如完全跳过这个方法并且调用。 默认值:无 PropertiesDriverManager.getConnection(jdbcUrl, props)addDataSourceProperty(“pass”, …)
# 配置密码
spring.datasource.hikari.password
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String poolName;
# 此属性表示连接池的用户定义名称,主要出现在日志记录和JMX管理控制台中以识别池和池配置。 默认:自动生成
spring.datasource.hikari.pool-name
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private boolean isReadOnly;
# 此属性控制默认情况下从池中获取的连接是否处于只读模式。注意某些数据库不支持只读模式的概念,而其他数据库则在Connection设置为只读时提供查询优化。无论您是否需要此属性,都将主要取决于您的应用程序和数据库。 默认值:false
spring.datasource.hikari.read-only
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private boolean isRegisterMbeans;
# 该属性控制是否注册JMX管理Bean(“MBeans”)。 默认值:false
spring.datasource.hikari.register-mbeans
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private ScheduledExecutorService scheduledExecutor;
# 指定 java.util.concurrent.ScheduledExecutorService 接口的实现类, 执行定时任务
spring.datasource.hikari.scheduled-executor
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String schema;
# 该属性设置的默认模式为支持模式的概念数据库。如果未指定此属性,则使用由JDBC驱动程序定义的默认模式。 默认:驱动程序默认
spring.datasource.hikari.schema
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private String transactionIsolationName;
# 此属性控制从池返回的连接的默认事务隔离级别。如果未指定此属性,则使用由JDBC驱动程序定义的默认事务隔离级别。如果您有针对所有查询通用的特定隔离要求,请仅使用此属性。此属性的值是从不断的名称Connection 类,如TRANSACTION_READ_COMMITTED,TRANSACTION_REPEATABLE_READ等 默认值:驱动程序默认
spring.datasource.hikari.transaction-isolation
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile String username;
# 此属性设置从基础驱动程序获取连接时使用的默认身份验证用户名。请注意,对于DataSources,这通过调用DataSource.getConnection(username, password)基础DataSource 以非常确定的方式工作。但是,对于基于驱动程序的配置,每个驱动程序都不同。在基于驱动程序的情况下,HikariCP将使用此username属性来设置传递给驱动程序调用的user属性。如果这不是你所需要的,例如完全跳过这个方法并且调用。 默认值:无PropertiesDriverManager.getConnection(jdbcUrl, props)addDataSourceProperty(“username”, …)
# 数据库用户名
spring.datasource.hikari.username
# 用于设置 : com.zaxxer.hikari.HikariConfig 的 private volatile long validationTimeout;
# 此属性控制连接测试活动的最长时间。这个值必须小于connectionTimeout。最低可接受的验证超时时间为250 ms。 默认值:5000
spring.datasource.hikari.validation-timeout
Hikari常用配置
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.pool-name=Hikari001
# MySql8 : com.mysql.cj.jdbc.Driver
# MySql5 : com.mysql.jdbc.Driver
# SqlServer : com.microsoft.sqlserver.jdbc.SQLServerDriver
# Oracle : oracle.jdbc.driver.OracleDriver
spring.datasource.hikari.driver-class-name=
# MySql8 : jdbc:mysql://HostName:3306/DatabaseName
# MySql8 : jdbc:mysql://HostName:3306/DatabaseName?autoReconnect=true&characterEncoding =UTF-8&zeroDateTimeBehavior=CONVERT_TO_NULL&connectionTimeZone=Asia/Shanghai&allowMultiQueries=true&maxRows=1000
# MySql5 : jdbc:mysql://HostName:3306/DatabaseName?autoReconnect=true&characterEncoding =UTF-8&zeroDateTimeBehavior=CONVERT_TO_NULL&connectionTimeZone=Asia/Shanghai&allowMultiQueries=true&maxRows=1000
# SqlServer : jdbc:sqlserver://localhost:1433; DatabaseName=test
# Oracle : jdbc:oracle:thin:127.0.0.1:port:dbname
spring.datasource.hikari.jdbc-url=
spring.datasource.hikari.username=root
spring.datasource.hikari.password=
# default = true
spring.datasource.hikari.auto-commit=true
# default = 10
spring.datasource.hikari.maximum-pool-size=100
# default minimum-idle = maximum-pool-size
spring.datasource.hikari.minimum-idle=10
# when minimum-idle < maximum-pool-size
# idel connection life time
# must>10000 ; default=600000(10 minute) ; 0 is infinity
spring.datasource.hikari.idle-timeout=30000
# connection max lifet time (millisecond) default 1800000(30 minute)
spring.datasource.hikari.max-lifetime=1800000
# dateSource.getConnection() timeout must>250ms default 30000(30 second)
spring.datasource.hikari.connection-timeout=258
spring.datasource.hikari.connection-init-sql=
spring.datasource.hikari.connection-test-query=SELECT 1
Freemark
# 是否启用freemarker
spring.freemarker.enabled: true
# 是否允许HttpServletRequest属性覆盖(隐藏)控制器生成的同名模型属性。
spring.freemarker.allow-request-override: false
# 是否允许HttpSession属性覆盖(隐藏)控制器生成的同名模型属性。
spring.freemarker.allow-session-override: false
# 是否启用模板缓存。
spring.freemarker.cache: false
# 模板编码。
spring.freemarker.charset: UTF-8
# 是否检查模板位置是否存在。
spring.freemarker.check-template-location: true
# Content-Type value.
spring.freemarker.content-type: text/html
# 设定所有request的属性在merge到模板的时候,是否要都添加到model中.
spring.freemarker.expose-request-attributes: false
# 是否在merge模板的时候,将HttpSession属性都添加到model中
spring.freemarker.expose-session-attributes: false
# 设定是否以springMacroRequestContext的形式暴露RequestContext给Spring’s macro library使用
spring.freemarker.expose-spring-macro-helpers: true
# 是否优先从文件系统加载template,以支持热加载,默认为true
spring.freemarker.prefer-file-system-access: true
# 设定模板的后缀.
# spring.freemarker.suffix: .ftl
# 设定模板的加载路径,多个以逗号分隔,默认:
spring.freemarker.template-loader-path: classpath:/templates/
# 设定FreeMarker keys.
spring.freemarker.settings.template_update_delay: 0
spring.freemarker.settings.default_encoding: UTF-8
spring.freemarker.settings.classic_compatible: true
#配置freemarker详解
spring.freemarker.enabled: true
# Enable MVC view resolution for this technology.
#为这种技术启用MVC视图解决方案。
spring.freemarker.allow-request-override: false
# Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.
#设置是否允许HttpServletRequest属性覆盖(隐藏)控制器生成的同名模型属性。
spring.freemarker.allow-session-override: false
# Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.
#设置是否允许HttpSession属性覆盖(隐藏)控制器生成的同名模型属性。
spring.freemarker.cache: false
# Enable template caching.
#启用模板缓存。
spring.freemarker.charset: UTF-8
# Template encoding.
#设置编码格式
#spring.freemarker.check-template-location: true
# Check that the templates location exists.
#检查模板位置是否存在。
#spring.freemarker.content-type: text/html
# Content-Type value.
#内容类型值
spring.freemarker.expose-request-attributes: false
# Set whether all request attributes should be added to the model prior to merging with the template.
#设置是否应该在与模板合并之前将所有请求属性添加到模型中。
spring.freemarker.expose-session-attributes: false
# Set whether all HttpSession attributes should be added to the model prior to merging with the template.
#设置是否在与模板合并之前将所有HttpSession属性添加到模型中。
#spring.freemarker.expose-spring-macro-helpers: true
# Set whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".
#设置是否公开RequestContext供Spring宏库使用,名称为“SpringMacroRequestContext”。
#spring.freemarker.prefer-file-system-access: true
# Prefer file system access for template loading. File system access enables hot detection of template changes.
#更喜欢文件系统访问模板加载。文件系统访问允许对模板更改进行热检测。
#spring.freemarker.prefix:
# Prefix that gets prepended to view names when building a URL.
#前缀,用于在构建URL时查看名称
#spring.freemarker.request-context-attribute:
# Name of the RequestContext attribute for all views.
#所有视图的RequestContext属性的名称。
#spring.freemarker.settings.*:
# Well-known FreeMarker keys which will be passed to FreeMarker's Configuration.
#众所周知的FreeMarker密钥将传递给FreeMarker的配置。
spring.freemarker.suffix: .ftlh
# Suffix that gets appended to view names when building a URL.
#后缀,该后缀用于在构建URL时查看名称。 springboot1默认.ftl , springboot2默认.ftlh
spring.freemarker.template-loader-path: classpath:/templates/
# Comma-separated list of template paths.
#以逗号分隔的模板路径列表。
#spring.freemarker.view-names:
# White list of view names that can be resolved.
#可以解析的视图名称的白列表(白名单)。
(待更新)