目录:

  1. 简单配置
  2. 详细配置
  1. 应用程序上下文初始化器
  2. 多种开发环境配置
  3. 服务器
  1. 配置端口和项目名访问
  2. http
  3. tomcat的几个配置
  1. 数据库
  1. 数据库连接配置 
  2. Mybatis
  3. redis配置
  1. 视图
  1. mvc 
  2. thymeleaf组件配置
  1. 功能
  1. 测试生产日志分离 
  2. 文件上传multipart

一. 简单配置

#多环境配置,测试,生产用不同的配置文件
spring.profiles.active=test

#应用名称
spring.application.name=apply
#端口号
server.port=8888

二. 详细配置

1. 应用程序上下文初始化器

应用指标。
spring.application.index= 
# 应用程序名称。
spring.application.name=

2. 多种开发环境配置

#开发/测试/生产环境分别对应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和更高版本的位置标头是使用相对还是绝对重定向。

6. 数据库连接配置 

#描述数据源
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

7. Mybatis

#指定mybatis配置文件路径
mybatis.mapper-locations=classpath:mapping/*.xml
#别名实体包,多个逗号隔开,typeAliasesPackage 属性的作用:
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