Spring Boot读取配置文件原来这么简单

Spring Boot项目的配置文件通常放在application.properties / application.yml文件中,读取配置非常方便,有三种方式可以读取。

一、单环境配置

配置文件内容如下(选取下面一种文件格式):
application.properties文件:

# application.properties
com.xl.name=乐呵呵

application.yml文件:

# application.yml(注意‘:’冒号后面要跟一个空格)
com:
  xl:
    name: 乐呵呵
1、通过@Value注解读取配置

HelloController.java文件

@RestController
public class HelloController {
	@Value("${com.xl.name}")
	private String name;

	@GetMapping("/hello")
	public String hello() {
		return "@Vallue方式读取配置文件:" + name;
	}
}

在浏览器访问http://localhost:8080/hello,成功读取到配置文件的内容。
@Value

2、自定义配置类读取配置

自定义配置类:MyConfig.java

@ConfigurationProperties(prefix="com.xl")
@Component
public class MyConfig {
	private String name;

	public String getName() {
		return this.name;
	}

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

HelloController.java文件

@RestController
public class HelloController {
	@Autowired
	private MyConfig myConfig;

	@GetMapping("/hello1")
	public String hello() {
		return "自定义配置文件读取:" + myConfig.getName();
	}
}

在浏览器访问http://localhost:8080/hello1,成功读取到配置文件的内容。
自定义配置文件

3、通过Environment的getProperty方法读取

HelloController.java文件

@RestController
public class HelloController {
	@Autowired
	private Environment env;

	@GetMapping("/hello2")
	public String hello() {
		return "Environment的getProperty方法读取配置文件:" + env.getProperty("com.xl.name");
	}
}

在浏览器访问http://localhost:8080/hello1,成功读取到配置文件的内容。
Environment
注:@RestController = @Controller + @ResponseBody :可以直接返回json数据格式
@GetMapping = @RequestMapping(value = “/hello”, method=RequestMethod.GET):get请求
@PostMapping = @RequestMapping(value = “/hello”, method=RequestMethod.POST):post请求

二、多环境配置

      在开发中,项目会被部署到测试环境、uat环境和正式环境(生产环境)等,但是每个环境的配置信息不相同,如数据库配置、MQ配置等,这里就需要多环境配置。
      我们可以定义多个配置文件,每个配置文件对应一个环境,配置文件名称:application-环境.properties或者application-环境.yml。例如application-test.yml、application-dev.yml等。其中application.yml配置文件是通用的,不区分环境。

1、激活配置文件

application.properties文件激活测试环境示例:

spring.profiles.active=test

application.yml文件激活开发环境示例:

spring:
  profiles:
  	active: dev

启动项目时指定配置文件:

java -jar ***.jar --spring.profiles.active=test
2、优先级

①同级目录下,.properties配置文件优先级高于.yml配置文件;
②配置文件可以放到不同的目录下,优先级如下:
file:./config/ (当前项目路径config目录下) > file:./ (当前项目路径下) > classpath:/config/ (类路径config目录下) > classpath:/ (类路径config下)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值