Spring Boot 基础配置

本章记录的是springboot的properties配置文件的基础配置

一、介绍的是如下的节点内容

  1. Web 容器配置
  2. Properties 配置
  3. 类型安全配置属性
  4. Profile

下面是该项目项目结构的结果说明图

新增spring boot项目的设置说明:https://www.cnblogs.com/qianshouxiuluo/p/11703471.html

Spring Boot 基础配置_第1张图片

 

 

二、web容器配置

  1. 在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 配置
  1. application.properties文件有个价值的优先级从1-4依次降低;
  • 项目根目录下的 config 文件夫中
  • 项目根目录下
  • classpath 下的 config 文件夫中
  • classpath

Spring Boot 基础配置_第2张图片

 

 四、类型安全配置属性

spring提供了@Value注解以及EnviromentAware接口来将Spring Enviroment中的数据注入到属性上,

  • 在application.properties稳健者中添加自定义配置

Spring Boot 基础配置_第3张图片

 

 

  • 映入自定义属性, @ConfigurationProperties 中prefix属性描述了要加载的配置文件的前缀
@Component
@ConfigurationProperties(prefix = "book")

Spring Boot 基础配置_第4张图片

 

  • 在HelloController.java文件中添加映射配置

Spring Boot 基础配置_第5张图片

 

 

  • 效果如下:

Spring Boot 基础配置_第6张图片

 

  •  如果中文显示乱码,则需要修改文件编码格式

Spring Boot 基础配置_第7张图片

 

五、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

  • 截图如下:

Spring Boot 基础配置_第8张图片

 

 在学习过程中遇到的问题:

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 Boot 基础配置_第9张图片

 报错的原因是:视图解析器的前缀配置错误,错误配置是如下所示:

Spring Boot 基础配置_第10张图片

 

 需要在前缀视图路径的后面加上反斜杠,否则解析找不到路径,即:

spring.thymeleaf.prefix=classpath:/templates/

Spring Boot 基础配置_第11张图片

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Spring Boot 基础配置)