参考:SpringBoot中application.properties的常用配置
目录:
- 简单配置
- 详细配置
- 应用程序上下文初始化器
- 多种开发环境配置
- 服务器
- 配置端口和项目名访问
- http
- tomcat的几个配置
- 数据库
- 数据库连接配置
- Mybatis
- redis配置
- 视图
- mvc
- thymeleaf组件配置
- 功能
- 测试生产日志分离
- 文件上传multipart
一. 简单配置
#多环境配置,测试,生产用不同的配置文件 spring.profiles.active=test #应用名称 spring.application.name=apply #端口号 server.port=8888
二. 详细配置
1. 应用程序上下文初始化器
应用指标。 spring.application.index= # 应用程序名称。 spring.application.name=
- 多种开发环境配置
#开发/测试/生产环境分别对应dev/test/prod,可以自由定义,当前配置为开发环境 spring.profiles.active=dev 不同环境中的配置信息可以写在其他文件中 application-test.properties 或者 application-prod.properties#
3. 配置端口和项目名访问
#指定springboot内嵌容器启动的端口,默认使用tomcat容器时在8080端口 #server.port=8081 #配置项目访问路径 #server.servlet.context-path=/boot
4. http
#设定是否对object mapper也支持HATEOAS,默认为: true spring.hateoas.apply-to-primary-object-mapper #是否优先使用JSON mapper来转换. spring.http.converters.preferred-json-mapper #指定http请求和相应的Charset,默认: UTF-8 spring.http.encoding.charset #是否开启http的编码支持,默认为true spring.http.encoding.enabled #是否强制对http请求和响应进行编码,默认为true spring.http.encoding.force
5. tomcat的几个配置
server.tomcat.accept-count = 0 #当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度。 server.tomcat.accesslog.buffered = true #是否缓冲输出以使其仅定期刷新。 server.tomcat.accesslog.directory = logs #创建日志文件的目录。可以是绝对的或相对于Tomcat基础目录。 server.tomcat.accesslog.enabled = false #启用访问日志。 server.tomcat.accesslog.file最新格式= .yyyy-MM-dd #要放在日志文件名中的日期格式。 server.tomcat.accesslog.pattern = common #访问日志的格式模式。 server.tomcat.accesslog.prefix = access_log #日志文件名前缀。 server.tomcat.accesslog.rename-on-rotate = false #是否延迟在文件名中包含日期戳,直到旋转时间。 server.tomcat.accesslog.request-attributes-enabled = false #设置用于请求的IP地址,主机名,协议和端口的请求属性。 server.tomcat.accesslog.rotate = true #是否启用访问日志轮换。 server.tomcat.accesslog.suffix = .log#日志文件名后缀。 server.tomcat.additional-tld-skip-patterns = #逗号分隔的其他模式列表,这些模式匹配要忽略的TLD扫描的jar。 server.tomcat.background-processor-delay = 30s #调用backgroundProcess方法之间的延迟。如果未指定持续时间后缀,则将使用秒。 server.tomcat.basedir = #Tomcat 基目录。如果未指定,则使用临时目录。 server.tomcat.internal-proxies = 10 \\。\\ d {1,3} \\。\\ d {1,3} \\。\\ d {1,3} | \\ 。192 \\ 168 \\ d {1,3} \\ d {1,3} | \\ 。169 \\ 254 \\ d {1,3} \\ d {1,3} | \\ 。127 \\ d {1,3} \\ d {1,3} \\ d {1,3} | \\ 172 \\ 1 [6-9] {1} \\ d {1,3} \\ d {1,3} |。。\\ 172 \\ 2 [0-9] {1} \\ d {1,3} \\ d {1,3} |。。\\ 172 \\。3 [0-1] {1} \\。\\ d {1,3} \\。\\ d {1,3} #正则表达式匹配可信IP地址。 server.tomcat.max-connections = 0 #服务器在任何给定时间接受和处理的最大连接数。 server.tomcat.max-http-header-size = 0 #HTTP消息头的最大大小(以字节为单位)。 server.tomcat.max-http-post-size = 0 #HTTP 帖子内容的最大大小(以字节为单位)。 server.tomcat.max-threads = 0 #最大工作线程数。 server.tomcat.min-spare-threads = 0 #最小工作线程数。 server.tomcat.port-header = X-Forwarded-Port#用于覆盖原始端口值的HTTP头的名称。 server.tomcat.protocol-header = #包含传入协议的标头,通常命名为“X-Forwarded-Proto”。 server.tomcat.protocol-header-https-value = https #协议标头的值,指示传入请求是否使用SSL。 server.tomcat.redirect-context-root = #是否应通过在路径中附加/来重定向对上下文根的请求。 server.tomcat.remote-ip-header = #从中提取远程IP的HTTP头的名称。例如,`X-FORWARDED-FOR`。 server.tomcat.resource.cache-ttl = #静态资源缓存的生存时间。 server.tomcat.uri-encoding = UTF-8 #用于解码URI的字符编码。 server.tomcat.use-relative-redirects = #通过调用sendRedirect生成的HTTP 1.1和更高版本的位置标头是使用相对还是绝对重定向。
- 数据库连接配置
#描述数据源 spring.datasource.url=jdbc:mysql://localhost:3306/tanglong?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false&allowMultiQueries=true spring.datasource.username=root spring.datasource.password=0000 spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
- Mybatis
#指定mybatis配置文件路径 mybatis.mapper-locations=classpath:mapping/*.xml #别名实体包,多个逗号隔开,typeAliasesPackage 属性的作用:https://www.cnblogs.com/appium/p/11633971.html mybatis.type-aliases-package=com.how2java.springboot.pojo #打印myBatis的sql语句 com.demo.mapper 为包名 logging.level.com.demo.mapper=debug #是否打印sql语句 #spring.jpa.show-sql= true #开启驼峰映射 mybatis.configuration.map-underscore-to-camel-case: true #sql输出到控制台 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl #如何将sql输出都日志中???
8. redis配置
#Redis数据库索引(默认为0) spring.redis.database=0 #Redis服务器地址 spring.redis.host=127.0.0.1 #Redis服务器连接端口 spring.redis.port=6379 #Redis服务器连接密码(默认为空) spring.redis.password= #连接池最大连接数(使用负值表示没有限制) spring.redis.pool.max-active=10 #连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.pool.max-wait=-1 #连接池中的最大空闲连接 spring.redis.pool.max-idle=8 #连接池中的最小空闲连接 spring.redis.pool.min-idle=0 #连接超时时间(毫秒) spring.redis.timeout=0
9. mvc
#设定async请求的超时时间,以毫秒为单位,如果没有设置的话,以具体实现的超时时间为准,比如tomcat的servlet3的话是10秒. spring.mvc.async.request-timeout #设定日期的格式,比如dd/MM/yyyy. spring.mvc.date-format #是否支持favicon.ico,默认为: true spring.mvc.favicon.enabled #在重定向时是否忽略默认model的内容,默认为true spring.mvc.ignore-default-model-on-redirect #指定使用的Locale. spring.mvc.locale #指定message codes的格式化策略(PREFIX_ERROR_CODE,POSTFIX_ERROR_CODE). spring.mvc.message-codes-resolver-format #指定mvc视图的前缀. spring.mvc.view.prefix #指定mvc视图的后缀. spring.mvc.view.suffix
10 thymeleaf组件配置
#缓存设置为false, 这样修改之后马上生效,便于调试 #spring.thymeleaf.cache=false #spring.thymeleaf.prefix=classpath:/templates/ #spring.thymeleaf.check-template-location=true #spring.thymeleaf.suffix=.html #spring.thymeleaf.encoding=UTF-8 #spring.thymeleaf.content-type=text/html #spring.thymeleaf.mode=HTML5
11. 测试生产日志分离
logging.config=classpath:logback-spring.xml logging: level: cn.rntd.gift.mapper : debug
在logback-spring.xml
文件中配置:
<!-- 测试环境+开发环境. 多个使用逗号隔开. --> <springProfile name="test,dev"> <logger name="org.springframework.web" level="DEBUG"/> <logger name="me.yidasanqian" level="DEBUG"/> </springProfile> <!-- 生产环境. --> <springProfile name="prod"> <logger name="org.springframework.web" level="INFO"/> <logger name="me.yidasanqian" level="INFO"/> </springProfile>
12. 文件上传multipart
#是否开启文件上传支持,默认为true multipart.enabled=true #设定文件写入磁盘的阈值,单位为MB或KB,默认为0 multipart.file-size-threshold=0 #指定文件上传路径. multipart.location #指定文件大小最大值,默认1MB multipart.max-file-size #指定每次请求的最大值,默认为10MB multipart.max-request-size