Spring Boot默认的配置文件为application.properties,放在src/main/resources目录下或者类路径的/config目录下,作为Spring Boot的全局配置文件,对一些默认的配置进行修改。

接下来使用例子展示Spring Boot配置文件的用法:

首先在src/main/resources下新建application.properties文件,内容如下

author.name=微儿博客
author.sex=男

创建controller类

ackage com.springboot.properties;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
//不需要指定配置文件的位置,因为使用的默认的配置文件
@RestController
public class DemoController {
	
	@Value("${author.name}")//注入配置文件中的值
	private String name;
	@Value("${author.sex}")
	private String sex;
	
	@RequestMapping("/")
	public String index(){
		return name + ":" + sex;
	}
}

创建入口类

package com.springboot.properties;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App {
	
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}

执行:

Spring Boot之配置文件application.properties_java

那么如何使用其他的配置文件呢?

新建author.properties,内容如下:

person.name=weare
person.sex=man

修改DemoController为:

@RestController
@PropertySource("classpath:author.properties")//指定配置文件
public class DemoController {
	
	@Value("${person.name}")
	private String name;
	@Value("${person.sex}")
	private String sex;
	
	@RequestMapping("/")
	public String index(){
		return name + ":" + sex;
	}
}

运行,如图

Spring Boot之配置文件application.properties_java_02

上例中属性都是通过@Value逐个注入的,但是如果注入的属性很多就会很麻烦,接下来使用@ConfigurationProperties将配置文件属性和Bean的属性关联

创建Author类:

package com.springboot.properties;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component//声明这是一个Bean
@ConfigurationProperties(prefix="author")//指定配置文件中的前缀
public class Author {
	
	private String name;
	
	private String sex;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
}

修改DemoController类:

@RestController
@ConfigurationProperties
public class DemoController {
	
	@Autowired
	private Author author;
	
	@RequestMapping("/")
	public String index(){
		return author.getName() + ":" + author.getSex();
	}
}

运行App类,结果如下图:

Spring Boot之配置文件application.properties_java

更多信息请访问 微儿博客