Spring Boot读取配置文件的配置项值

本文介绍了Spring Boot中读取配置文件的三种方法:1) 通过Environment类;2) 使用@Value注解;3) 使用@ConfigurationProperties和@PropertySource。详细讲解了每种方法的使用步骤,并给出了配置类、引导类、测试类以及配置文件的代码示例。注意配置类的位置和配置文件的引用。
摘要由CSDN通过智能技术生成

三种方式读取:
(一)
通过Spring Boot带有的Environment 类读取

(二)
通过使用@Value读取

(三)
通过添加一个配置类,使用@ConfigurationProperties读取
使用步骤:
① 添加一个配置类,在类名上面使用@ConfigurationProperties;若读取的配置文件不是默认的application.properties,则需再添加@PropertySource(“xxx.properties”)注解
② 在引导类上面添加;@EnableConfigurationProperties(value=类名.class)
③ 使用;在需要的地方使用@Autowired注入该对象即可

代码:

引导类:

@SpringBootApplication
//方式三需要添加该注解
@EnableConfigurationProperties(MyProperties.class)
public class Application {

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

}

测试类:

@RestController
public class DemoController {
	
	@Autowired
	private Environment environment;
	
	@Value("${spring}")
	private Integer password;
	&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Spring Boot 读取 YAML 文件可以使用注解 `@Value` 或者 `@ConfigurationProperties`。 使用 `@Value` 注解: ```java @Value("${property.name}") private String propertyName; ``` 使用 `@ConfigurationProperties` 注解: ```java @ConfigurationProperties(prefix = "property") @Data public class Property { private String name; } ``` 在 application.yml 文件配置相应的属性: ```yml property: name: value ``` 然后在应用程序通过注入 Bean 的方式使用即可。 ### 回答2: Spring Boot一个用于构建独立的、生产级别的Spring应用程序的框架,它提供了许多便利的功能,其之一是读取yml文件。 首先,我们需要在Spring Boot项目添加YAML文件。YAML(YAML Ain't Markup Language)是一种简洁且易读的数据序列化格式,通常用于配置文件。 在src/main/resources目录下创建一个名为application.yml的文件。在该文件,我们可以使用键对的形式来配置各种属性。 例如,我们可以配置服务器端口号: server: port: 8080 然后,我们需要创建一个读取yml配置文件的属性。可以使用@ConfigurationProperties注解将该与yml文件的属性进行绑定。 ```java import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "server") public class ServerProperties { private int port; public int getPort() { return port; } public void setPort(int port) { this.port = port; } } ``` 在上述示例,我们使用@ConfigurationProperties注解指定了yml文件配置项前缀为"server",然后定义了一个整型属性port,通过对应的getter和setter方法可以获取和设置该属性的。 最后,我们可以在其他组件或Bean使用该ServerProperties来获取yml文件的属性。例如: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MyComponent { private final ServerProperties serverProperties; @Autowired public MyComponent(ServerProperties serverProperties) { this.serverProperties = serverProperties; } public void printServerPort() { int port = serverProperties.getPort(); System.out.println("Server port: " + port); } } ``` 在上述示例,我们通过构造函数注入了ServerProperties对象,并在printServerPort方法获取了yml文件配置的服务器端口号,然后打印出来。 这样,我们就可以通过Spring Boot读取yml文件的属性了。Spring Boot会自动将yml文件的属性与@Component注解的进行绑定,从而方便我们使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值