经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Java » 查看文章
Spring Boot 的配置文件
来源:cnblogs  作者:这块显卡有点冷  时间:2018/10/10 9:12:39  对本文有异议

Profile 配置

Profile 是 Spring 用来针对不同的环境对不同的配置提供支持的,全局的 Profile 配置使用 application-{profile}.properties (如 application-prod.properties

通过在 application.properties 中设置 spring.profiles.active=prod 来指定活动的 Profile.

服务器常用配置

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

Tomcat 相关配置

  1. server.tomcat.accesslog.enabled=false # 打开tomcat访问日志
  2. server.tomcat.accesslog.directory=logs # 访问日志所在的目录
  3. server.tomcat.accept-count= # 允许http请求缓存到请求队列的最大个数,默认不限制
  4. server.tomcat.max-connections= # 最大连接数,默认不限制,如果一旦连接数到达,剩下的连接将会保存到请求缓存队列里
  5. server.tomcat.max-thread= # 最大工作线程数
  6. server.tomcat.max-http-post-size= # http post 内容最大长度,默认不限制

日志配置

默认情况下,不需要对日志做任何配置就可以使用,Spring Boot 使用 LogBack 作为日志的实现:

  1. import org.slf4j.Logger;
  2. import org.slf4j.LoggerFactory
  3. ...
  4. public class HelloWorldController {
  5. private static final Logger log = LoggerFactory.getLogger(HelloWorldController.class);
  6. ....
  7. }

日志级别有:ERROR、WARN、INFO、DEBUG和TRACE;

默认情况下,INFO级别以上的信息才会打印到控制台,可以自己设定日志输出级别

  1. logging.level.root=info
  2. # org 包下的日志级别
  3. logging.level.org=warn
  4. logging.level.com.yourcorp=debug
  5. # Spring Boot 默认并未输出日志到文件,可以设置
  6. logging.file=my.log
  7. # 日志输出到my.log 中,位于Spring Boot 应用运行的当前目录,也可以指定日志存放的路径
  8. logging.path=e:/temp/log

无论使用哪种方式记录日志文件,当日之达到10MB的时候会自动重新生成一个新日志文件。

配置浏览器显示 ico

Spring Boot 的 webapp 启动后,通过浏览器访问,浏览器会显示一个绿色的树叶图标。如果需要换成自己的图标,在项目 resources 目录下新建一个 static 目录,在 static 目录下创建 images 目录,然后项目的 favicon.ico 放在 images 目录下,每个页面添加以下样式即可

  1. <link rel="shortcut icon" href="/images/apple.ico">

配置数据源

  1. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false
  2. spring.datasource.username=root
  3. spring.datasource.password=123456
  4. spring.datasource.driver-class-name=com.mysql.jdbc.Driver

Mybatis 配置

  1. #mybatis
  2. mybatis:
  3. config-locations: classpath:mybatis/mybatis-config.xml
  4. mapper-locations: classpath:mybatis/mapper/*.xml
  5. type-aliases-package: net.dowhile.demo.entity

更多请参考Spring Boot Mybatis

读取应用配置

可以在应用中读取 application.properties 文件,Spring Boot 提供了三种方式,通用的 Eeviroment 类,可以通过 key-value 方式获取到 application.properties 中的值,也可以通过 @Value 注解,自动注入属性值,还可以将一组属性自动注入到一个配置类中。

1、 Environment

  1. @Configuration
  2. public class EnvConfig {
  3. @Autowired private Environment env;
  4. public int getServerPort() {
  5. return env.getProperty("server.port", Integer.class);
  6. }
  7. }

2、 @Value

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

  1. @GetMapping("/value")
  2. public String value(@Value("${server.port:8080}") int port) {
  3. return "port:" + port;
  4. }

@Value 注解支持 SpEL 表达式,如果属性不存在,可以提供一个默认值

3、@ConfigurationProperties

通常情况下,将一组同样类型的配置属性映射为一个类更为方便。

  1. server.port=9090
  2. server.context-path=/config

以上两个配置属性都与 web 服务器配置相关,都有 server 前缀,因此可以使用注解 `` 来获取这一组实现。

  1. @ConfigurationProperties("server")
  2. @Configuration
  3. class ServerConfig {
  4. private int port;
  5. private String contextPath;
  6. public int getPort() {
  7. return port;
  8. }
  9. public void setPort(int port) {
  10. this.port = port;
  11. }
  12. public String getContextPath() {
  13. return contextPath;
  14. }
  15. public void setContextPath(String contextPath) {
  16. this.contextPath = contextPath;
  17. }
  18. }

可以使用 @Autowired 直接注入该配置类,还可以指定 properties 文件位置。

  1. @Autowired
  2. private ServerConfig serverConfig;
  3. @ConfigurationProperties(prefix = "server", locations = {"classpath:config/author.properties"});
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号