SpringBoot2.0系列–03–配置文件properties和yml
文章目录
介绍
很多东西不会直接写到代码里面,而是通过配置文件的方式与代码并列,将一些可变参数写到配置文件中
在springboot中就有这样的配置文件,一般有2种方式
application.properties或者application.yml
- application.properties 以键值对的形式书写
- application.yml 以树的形式书写
- 2个文件都是放在resources的根目录下面,如果2个都存在则会按application.properties的配置生效,忽略application.yml
示例
- application.properties
com.lizhaoblog.name=xiaowan
com.lizhaoblog.title=Spring Boot
com.lizhaoblog.desc=${com.lizhaoblog.name}write ${com.lizhaoblog.title}
com.lizhaoblog.useByController = 888
# 多环境配置文件激活属性
spring.profiles.active=dev
- application.yml
com:
lizhaoblog:
name: xiaowan
title: Spring Boot application.yml
desc: ${com.lizhaoblog.name} write ${com.lizhaoblog.title}
useByController: 999
# 多环境配置文件激活属性
spring:
profiles:
active: dev
server:
port: 8080
在代码中使用这些配置信息
只要是归于spring管理的类,都能直接使用value注解,来获取这些配置数据。
spring管理的类: 类通过Component、Controller、Service等注解
具体写法:
@Value("${com.lizhaoblog.name}")
private String name;
如图:
spring内部配置
有一些springboot自带的属性,也是可以根据我们的配置进行修改的
端口号
server.port = 8080
切换访问的端口号
多环境切换
spring.profiles.active=dev
有时候会遇到这种问题,在本地测试会有一套配置信息,在服务器上面搭建又有另一套配置信息,这时候就可以使用环境配置了。
比如上面是dev,他会自动寻找application-dev.properties的文件,进行加载。
其他
以下内容来自这个小哥的博客:https://blog.csdn.net/y534560449/article/details/53585207
server配置
server.address #指定server绑定的地址
server.compression.enabled #是否开启压缩,默认为false.
server.compression.excluded-user-agents #指定不压缩的user-agent,多个以逗号分隔,默认值为:text/html,text/xml,text/plain,text/css
server.compression.mime-types #指定要压缩的MIME type,多个以逗号分隔.
server.compression.min-response-size #执行压缩的阈值,默认为2048
server.context-parameters.[param name] #设置servlet context 参数
server.context-path #设定应用的context-path.
server.display-name #设定应用的展示名称,默认: application
server.jsp-servlet.class-name #设定编译JSP用的servlet,默认: org.apache.jasper.servlet.JspServlet)
server.jsp-servlet.init-parameters.[param name] #设置JSP servlet 初始化参数.
server.jsp-servlet.registered #设定JSP servlet是否注册到内嵌的servlet容器,默认true
server.port #设定http监听端口
server.servlet-path #设定dispatcherservlet的监听路径,默认为: /
cookie、session配置
server.session.cookie.comment #指定session cookie的comment
server.session.cookie.domain #指定session cookie的domain
server.session.cookie.http-only #是否开启HttpOnly.
server.session.cookie.max-age #设定session cookie的最大age.
server.session.cookie.name #设定Session cookie 的名称.
server.session.cookie.path #设定session cookie的路径.
server.session.cookie.secure #设定session cookie的“Secure” flag.
server.session.persistent #重启时是否持久化session,默认false
server.session.timeout #session的超时时间
server.session.tracking-modes #设定Session的追踪模式(cookie, url, ssl).
ssl配置
<span style="font-size:12px;">server.ssl.ciphers #是否支持SSL ciphers.
server.ssl.client-auth #设定client authentication是wanted 还是 needed.
server.ssl.enabled #是否开启ssl,默认: true
server.ssl.key-alias #设定key store中key的别名.
server.ssl.key-password #访问key store中key的密码.
server.ssl.key-store #设定持有SSL certificate的key store的路径,通常是一个.jks文件.
server.ssl.key-store-password #设定访问key store的密码.
server.ssl.key-store-provider #设定key store的提供者.
server.ssl.key-store-type #设定key store的类型.
server.ssl.protocol #使用的SSL协议,默认: TLS
server.ssl.trust-store #持有SSL certificates的Trust store.
server.ssl.trust-store-password #访问trust store的密码.
server.ssl.trust-store-provider #设定trust store的提供者.
server.ssl.trust-store-type #指定trust store的类型.</span>
tomcat配置
<span style="font-size:14px;">server.tomcat.access-log-enabled #是否开启access log ,默认: false)
server.tomcat.access-log-pattern #设定access logs的格式,默认: common
server.tomcat.accesslog.directory #设定log的目录,默认: logs
server.tomcat.accesslog.enabled #是否开启access log,默认: false
server.tomcat.accesslog.pattern #设定access logs的格式,默认: common
server.tomcat.accesslog.prefix #设定Log 文件的前缀,默认: access_log
server.tomcat.accesslog.suffix #设定Log 文件的后缀,默认: .log
server.tomcat.background-processor-delay #后台线程方法的Delay大小: 30
server.tomcat.basedir #设定Tomcat的base 目录,如果没有指定则使用临时目录.
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}”
server.tomcat.max-http-header-size #设定http header的最小值,默认: 0
server.tomcat.max-threads #设定tomcat的最大工作线程数,默认为: 0
server.tomcat.port-header #设定http header使用的,用来覆盖原来port的value.
server.tomcat.protocol-header #设定Header包含的协议,通常是 X-Forwarded-Proto,如果remoteIpHeader有值,则将设置为RemoteIpValve.
server.tomcat.protocol-header-https-value #设定使用SSL的header的值,默认https.
server.tomcat.remote-ip-header #设定remote IP的header,如果remoteIpHeader有值,则设置为RemoteIpValve
server.tomcat.uri-encoding #设定URI的解码字符集.</span>
联系方式
项目代码路径码云:https://gitee.com/lizhaoandroid/Springboot-Learning-lz
联系方式:QQ3060507060
查看下一篇或者其他文章,可点击目录或者专栏查看