目录:
- 简单配置
- 详细配置
- 应用程序上下文初始化器
- 多种开发环境配置
- 服务器
- 配置端口和项目名访问
- 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=
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