本章记录的是springboot的properties配置文件的基础配置
一、介绍的是如下的节点内容
- Web 容器配置
- Properties 配置
- 类型安全配置属性
- Profile
下面是该项目项目结构的结果说明图
新增spring boot项目的设置说明:https://www.cnblogs.com/qianshouxiuluo/p/11703471.html
二、web容器配置
- 在application.properties文件中添加tomcat配置
# 配置服务器端口,默认是8080
server.port=8081
# 配置项目出错是跳转的页面
server.error.path=/error
#配置session失效时间30m表示30分钟,如果不写单位,默认是秒
server.servlet.session.timeout=10m
#表示项目名称,不配置默认是/ 如果配置了,就要在访问路径中加上配置的路径
#server.servlet.context-path=/demo
#设置tomcat编码格式
server.tomcat.uri-encoding=utf-8
#表示tomcat最大线程数
server.tomcat.max-threads=500
#是一个存放tomcat运行日志和临时文件的目录,如果不配置,则默认使用系统的临时目录
#server.tomcat.basedir=/home/log/tpm
三、Properties 配置
- application.properties文件有个价值的优先级从1-4依次降低;
- 项目根目录下的 config 文件夫中
- 项目根目录下
- classpath 下的 config 文件夫中
- classpath
四、类型安全配置属性
spring提供了@Value注解以及EnviromentAware接口来将Spring Enviroment中的数据注入到属性上,
- 在application.properties稳健者中添加自定义配置
- 映入自定义属性, @ConfigurationProperties 中prefix属性描述了要加载的配置文件的前缀
@Component
@ConfigurationProperties(prefix = "book")
- 在HelloController.java文件中添加映射配置
- 效果如下:
- 如果中文显示乱码,则需要修改文件编码格式
五、profile配置说明
开发者在项目发布之前,一般需要频繁地在开发环境、测试环境以及生产环境之间进行切换,这个时候大量的配置需要频繁更改,例如数据库配置、redis配置、mongodb配置、jms配置等。频繁修改带来了巨大的工作量,Spring对此提供了解决方案(@Prohle注解),Spring Boot则更进一步提供了更加简洁的解决方案,Spring Boot中约定的不同环境下配置文件名称规则为application-{profile}.properties» profile占位符表示当前环境的名称,prod:生产环境;dev:开发环节;test:测试环境;local:本机环境
- 具体配置步骤如下:
在resources目录下新增两个文件application-prd.properties、application-dev.properties,根据情况激活对应的文件;在application.properties文件中添加如下参数配置:
spring.profiles.active=dev
- 截图如下:
在学习过程中遇到的问题:
2019-10-20 12:26:52.247 ERROR 3480 --- [nio-8081-exec-2] org.thymeleaf.TemplateEngine : [THYMELEAF][http-nio-8081-exec-2] Exception processing template "sings": Error resolving template [sings], template might not exist or might not be accessible by any of the configured Template Resolvers
org.thymeleaf.exceptions.TemplateInputException: Error resolving template [sings], template might not exist or might not be accessible by any of the configured Template Resolvers
at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) [thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) [thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
错误截图:
报错的原因是:视图解析器的前缀配置错误,错误配置是如下所示:
需要在前缀视图路径的后面加上反斜杠,否则解析找不到路径,即:
spring.thymeleaf.prefix=classpath:/templates/