Spring Boot学习(三)——环境配置

时间:2022-03-20 21:49:39
          Spring Boot的基本配置文件为 application.properties。Spring Boot项目下的配置信息基本上都可以从这个配置文件上读取。以下分点说明可以配置的信息:

          1 服务器配置
          server.port = 8080;
         当然Spring Boot同时也支持命令启动端口 : java-jar test.jar --server.port=8080
          亦或者是 传入虚拟机系统属性:  java -Dserver.port=8080 -jar test.jar
          常用的服务器配置还有  
         
属性     描述
server.address 服务器IP绑定地址
server.session.timeout 回话过期时间,以秒为单位
server.error.path 服务器出错后的处理路径 /error
server.servlet.contextpath Spring Boot应用的上下文
server.port Spring Boot监听的端口


          2 配置web 服务器
          Spring Boot 内置了Tomcat, 同时也致辞Jetty、Undertow作为web服务器。使用这些应用服务器时,只需要映入应用的starter即可
          Undertow
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-undertow</artifactId>
          </dependency>

          Jetty
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-jetty</artifactId>
          </dependency>
          
          同时,还需要再Spring-boot-starter-web中取出Tomcat依赖:
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-web</artifactId>
              <exclusions>
                   <exclusion>     
                       <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-starter-tomcat</artifactId>
                   </exclusion>
              </exclusions>
          </dependency>

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


          3 配置启动信息
          Sping Boot在启动时会在控制台中默认打印 “Spring”
          可以在 classpath中增加banner.txt显示自己的输出信息,在Spring Boot项目的resources目录中创建一个banner.txt文件
          在application.properties中可以配置输出内容的属性:
        
banner.charset 字符编码 例:UTF-8
banner.location 路址 例:classpath:banner.txt
banner.image.location 可以使用图片 例:classpath:banner.gif
banner.image.width 图片宽度
banner.image.heigth 图片长度
banner.image.margin 图片左边边距
        


          4 日志配置
          默认情况下,不需要对日志做任何配置也可以使用, Sping Boot使用的是LogBack作为日志的实现,使用apache Commons Logging作为日志接口,因此代码中通常是这样的:
          public class Test {
              private Log log = LogFactory.getLog(Test.class);
              ...
          }
         
          application.properties配置文件中常用配置如下:
          logging.level.root=info
          #指定包下的日志级别
          logging.level.org=warn
          logging.level.com.xhwl=debug

          logging.file = my.log #输出日志文件,默认路径在Spring Boot当前目录
          logging.path=e:/temp/log  #日志路径,会在e盘的 /temp/log文件夹下生产spring.log日志文件

          logging.pattern.console=%level %date{HH:mm:ss} %logger{20}.%M %L :%m%n
          logging.pattern.file= %level %date{ISO8601} [%thread] %logger{20}.%M %L: %m%n
          #其中   %level为日志级别  %date 标识日志发生时间格式  %logger用于输出Logger的名字{*}限制长度  %thread表示当前线程名 %M日志发生时的方法名字   %L 错误代码行 %m日志消息  %n日志换行

          我们可以在启动时 java -jar test.jar -debug调整日志级别