Spring Boot配置

服务器配置

# 服务器IP绑定地址,如果你的主机上有多个网卡,可以绑定一个IP地址
server.address
# 会话过期时间,以秒为单位
server.session.timeout
# 服务器出错后的处理路径/error
server.error.path
# Spring Boot应用的上下文
server.servlet.contextpath
# Spring Boot应用监听端口
server.port

web服务器配置

# server.tomcat.*包含了tomcat相关的配置,较为重要的配置如下
# 打开Tomcat访问日志
server.tomcat.accesslog.enabled=false
# 访问日志所在的目录
server.tomcat.accesslog.directory=logs
# 允许HTTP请求缓存到请求队列的最大个数,默认不限制
server.tomcat.accpet-count=
# 最大连接数,默认不限制,如果一旦连接数到达,剩下的连接将会保存到请求缓存队列里,也就是accept-count指定队列
server.tomcat.max-connections=
# 最大工作线程数
server.tomcat.max-threads=
# HTTP POST内容最大长度,默认不限制
server.tomcat.max-http-post-size=

# server.undertow.* 包含undertow相关配置,较为重要的配置如下
# 打开undertow日志,默认为false
server.undertow.accesslog.enabled=false
# 访问日志所在目录
server.undertow.accesslog.dir=logs
# 创建工作线程的I/O线程,默认为2或者CPU的个数
server.undertow.io-threads=
# 工作线程个数,默认为I/O线程个数的8倍
server.undertow.worker-threads=
# HTTP POST内容最大长度,默认不限制
server.undertow.max-http-post-size=0

# server.jetty.*包含了jetty相关配置,较为重要的配置如下
# 打开jetty日志,默认为false
server.jetty.accesslog.enabled=false
# acceptors线程个数,用来接受访问请求,相当于工作线程
server.jetty.acceptors=
# selectors线程个数,和CPU个数相关,默认是可用(CPU+1)/2,用于分配请求给工作线程
server.jetty.selectors=

@Value

注意:
@Value并不能在任何 Spring 管理的 Bean 中使用,因为@Value本身是通过AutowiredAnnotationBeanPostProcessor实现的,它是BeanPostProcessor接口的实现类,因此任何BeanPostProcessor和BeanFactoryPostProcessor的子类中都不能使用@Value来注入属性,因为那时候@Value还没有被处理。

Bean条件装配

@ConditonalOnBean,在当前上下文中存在某个对象时,才会实例化一个Bean.
@ConditionalOnMissingBean,在当前上下文中不存在某个对象时,才会实例化一个Bean.
@ConditionalOnClass,表示在classpath有指定的类时,配置生效.
@ConditionalOnMissingClass,表示当classpath中没有指定的类的时候,配置生效
@ConditionalOnProperty,根据name来读取Spring Boot的Enviroment的变量包含的属性,根据其值与havingValue的值比较结果决定配置是否生效。如果没有指定的havingValue,只要属性不为false,配置都能生效。matchIfMissing为true意味着如果Environment没有包含相应的属性,配置也能生效,默认为false。
@ConditionalOnExpression,当表达式为true时,才会实例化一个Bean,支持SpEL表达式,比如根据配置文件中的某个值来决定配置是否生效。
@ConditionalOnJava,当存在指定的Java版本的时候。

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