前面介绍了 Spring 的 @Controller 和 @RestController 控制器, 他们是如何响应客户端请求, 如何返回 JSON 数据. 不清楚的朋友可以看看之前的文章: https://www.cnblogs.com/zhangweizhong/category/1657780.html.
今天来说一说 SpringBoot 的 application.properities 的相关配置属性和如何自定义配置文件.
一, 系统配置 application.properities
创建 spring-boot 项目后, 会在 resources 目录下生成一个空的 application.properties 配置文件, springboot 启动时加载该配置文件.
application.properties(或者 application.YAML) 中包含系统属性, 环境变量, 命令参数这类信息.
下面简要说一部分 spring-boot 项目中 application.properties 内的一些常用配置, 更多参照官方文档.
- ############################################################
- #
- # Server 服务器相关配置
- #
- ############################################################
- # 配置端口号
- server.port=8080
- # 配置 context-path, 一般这个配置在正式发布的时候不需要配置.
- #server.context-path=
- # 错误页, 指定发生错误时, 跳转的 URL --> BasicErrorController
- #server.error.path=/error
- # session 最大超市时间 (分钟), 默认 30 分钟
- server.session-timeout=60
- # 服务绑定的 IP 地址, 启动服务器时, 如本机不是该 IP 地址则抛出异常启动失败,
- # 所以此配置只有在特殊情况下才配置, 具体更具各自的业务来设置.
- #server.address=192.168.1.9
- ############################################################
- # Server - tomcat 相关配置
- ############################################################
- # tomcat 最大线程数, 默认 200
- #server.tomcat.max-threads=250
- # tomcat 的 URI 编码格式
- server.tomcat.uri-encoding=UTF-8
- # 存放 Tomcat 的日志, Dump 等文件的零食文件夹, 默认为系统但是 tmp 文件夹
- # (如: C:\\Users\Zhang\AppData\Local\Temp)
- #server.tomcat.basedir=D:/springboot-tomcat-tmp
- # 打开 Tomcat 的 Access 日志, 并可以设置日志格式的方法,
- #server.tomcat.access-log-enabled=true
- #server.tomcat.access-log-pattern=
- # accesslog 目录, 默认在 basedir/logs
- #server.tomcat.accesslog.directory=
- # 日志文件目录
- #logging.path=H:/springboot-tomcat-tmp
- # 日志文件名称, 默认为 spring.log
- #logging.file=myapp.log
这些参数配置不一定要写在 application.properties 里面, 可以在 application.properties 里面配置指定自定义配置文件名称和位置:(但是无论怎么配置, spring-boot 都会读取加载 application.properties 文件)
二, 自定义配置
系统相关的配置, 我们一般放在 application.properties 中, 但是其他的和业务相关的配置怎么定义呢, 下面就来介绍下如何自定义配置:
1, 增加自定义的 resource.properties 文件
- com.weiz.resource.name=weiz
- com.weiz.resource.website=www.weiz.com
- com.weiz.resource.language=java
2, 增加 Resource.java 类
- package com.weiz.pojo;
- import org.springframework.boot.context.properties.ConfigurationProperties;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.PropertySource;
- @Configuration
- @ConfigurationProperties(prefix = "com.weiz.resource")
- @PropertySource(value = "classpath:resource.properties")
- public class Resource {
- private String name;
- private String website;
- private String language;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getWebsite() {
- return website;
- }
- public void setWebsite(String website) {
- this.website = website;
- }
- public String getLanguage() {
- return language;
- }
- public void setLanguage(String language) {
- this.language = language;
- }
- }
@ConfigurationProperties 配置的属性, prefix 定义这些属性的前缀.
@PropertySource 资源配置文件的地址.
3, 调用
- @Autowired
- private Resource resource;
- @RequestMapping("/index")
- public String index(ModelMap map) {
- map.addAttribute("name", resource.getName());
- return "freemarker/index";
- }
最后
以上, 就把 Spring Boot 如何资源文件属性配置介绍完了.
来源: https://www.cnblogs.com/zhangweizhong/p/12389452.html