Spring Boot学习笔记4(配置)

四、Spring Boot配置

4.1.配置Spring Boot

4.1.1.服务器配置

*更换端口: server.port = 9090
    也可以在命令行中指定启动端口,比如传入参数—server.port=9000 :
     java –jar bootsample.jar –server.port=9000
*SpringBoot默认为应用配置的上下文访问目录是“/”,可以通过配置文件或者命令行,配置server.context-path:
     server.servlet.Path=/config
常用的服务器配制的属性如下:
*server.address: 服务器IP绑定地址,如果主机有多个网卡,可以绑定一个IP地址
*server.session.timeout: 会话过期时间,以秒为单位
*server.err.path: 服务器出错后的1处理路径/error
*server.servlet.contextpath: Spring Boot应用的上下文
*server.port: Spring Boot英勇监听端口

4.1.2只用其他Web服务器

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

4.2.读取应用配置

4.2.1Environment

Environment是一个通用的读取应用程序运行时环境变量的类,可以读取application.properties、命令行输入参数、系统属性、操作系统环境变量等,可以通过Spring容器自动注入,比如在Spring管理的Bean中:

  @Configuration
  public class EnvConfig{
         @Autowired private Environment env;
         public int getServerPort() {
                  return env.getProperty(“server.port”,Integer.classs)
         }
   }

其他读取的例子:

*env.getProperty(“user.dir”): 程序运行的目录,如果在IDE中运行,就是工程目录,user.dir是系统属性
*env.getProperty(“user.home”):执行程序的用户的home目录,user.home是系统属性
*env.getProperty(“JAVA_HOME”):读取设置的环境变量(不区分大小写)
*env.getProperty(“server.port”):读取server.port,来自application.properties

4.2.2.@Value

直接通过@Value注解注入一个配置信息到Spring管理的Bean中:

@RequestMapping(“/showvalue.html”)
public @ResponseBody String value(@Value(“${server.port}”) int port){
        return “port:”+port;
}

*注意:@Value不能在任何BeanPostProcessor和BeanFactoryPostProcessor的子类中被注入(因为@Value本身是通过AutowiredAnnotationBeanPostProcesser实现的,它是BeanPostProcessor接口的实现类)

猜你喜欢

转载自blog.csdn.net/affluent6/article/details/88870612
今日推荐