前面介绍了Spring的@Controller和@RestController控制器, 他们是如何响应客户端请求,如何返回json数据。不清楚的朋友可以看看之前的文章:。
今天来说一说SpringBoot的application.properities的相关配置属性和如何自定义配置文件。
一、系统配置application.properities
创建spring-boot项目后,会在resources目录下生成一个空的application.properties配置文件,springboot启动时加载该配置文件。
application.properties(或者application.yml)中包含系统属性、环境变量、命令参数这类信息。
下面简要说一部分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如何资源文件属性配置介绍完了。