配置文件
Spring boot配置文件有两种格式,.properties和.yml两种格式。
properties
main/resources下有一个application.properties文件,通过此文件可以进行相应的配置。
示例:配置指定的端口号和上下文。
默认端口如图:
使用application.properties配置指定端口8500,与上下文/02-spring-web
server.port=8500
server.servlet.context-path=/02-spring-web
重新启动可以看到之前的地址已经访问不通
使用配置的端口与上下文打开
yml
yml是一种yaml格式的配置文件,主要采用一定的空格、换行等格式排版进行配置,是一种直观的能够被计算机识别的数据序列化格式,容易被人类阅读,yaml类似xml,语法上比ml更加简洁,值与前面的冒号配置项必须要有一个空格,在读取时会对空格转换,多了和少了都可能出现问题。
以上面配置指定端口为例,使用yml配置:
启动服务
自定义配置
在配置文件中自定义配置时使用简述。
方法一使用@Value注解
新建ConfigInfoController
@Controller
public class ConfigInfoController {
@Value("${boot.name}")
private String name;
@Value("${boot.location}")
private String location;
@RequestMapping("/boot/config")
public @ResponseBody String config(){
return name + "----" + location;
}
}
运行程序
方法二使用@ConfigurationProperties(prefix = “****”)
使用整个文件来映射成一个对象调用。
新建一个config文件夹,新建组件ConfigInfo类。使用@ConfigurationProperties(prefix = “****”)将配置文件中的前缀写入“boot”,如下
@Component
@ConfigurationProperties(prefix = "boot")
public class ConfigInfo {
private String name;
private String location;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
}
调用建立的类,重新完善调用方法如下,重新启动即可调用成功。
@Controller
public class ConfigInfoController {
@Value("${boot.name}")
private String name;
@Value("${boot.location}")
private String location;
//将新建的类引入
@Autowired
private ConfigInfo configInfo;
@RequestMapping("/boot/config")
public @ResponseBody
String config() {
//调用configinfo中的属性
return name + "----" + location + "==" + configInfo.getName() + "----" + configInfo.getLocation();
}
}