springboot使用@ConfigurationProperties(prefix="")加载配置

@ConfigurationProperties注解用于类或方法,结合@PropertySource,根据配置文件信息调用对象的set方法,实现属性注入。适用于Spring Boot应用中配置数据源等场景。
部署运行你感兴趣的模型镜像

@ConfigurationProperties 加在类上或方法上,可以和@PropertySource组合使用

加在方法上:

@Bean("primaryDataSource")
@Primary
@ConfigurationProperties("primary.datasource")
public DataSource buildPrimaryDataSource() {
	return DataSourceBuilder.create().build();
}

@ConfigurationProperties会根据配置文件的信息调用返回对象的set方法

加在类上:

@Component
@ConfigurationProperties("sharding.datasource")
public class DataSourceConfig {
	private String url;
	
	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}
}

@ConfigurationProperties会根据配置文件的信息调用声明对象的set方法

切记:prefix必须全部为小写,set方法必须为public

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### Spring Boot 中使用 `@ConfigurationProperties` 注解读取配置文件 #### 创建配置类 为了使 `@ConfigurationProperties` 正常工作,需创建一个Java类用于映射属性文件中的键值对。该类应包含与配置项对应的字段以及相应的getter和setter方法。 ```java import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "myapp") public class MyProperties { private String accessKey; private String secretKey; // Getters and Setters public String getAccessKey() { return accessKey; } public void setAccessKey(String accessKey) { this.accessKey = accessKey; } public String getSecretKey() { return secretKey; } public void setSecretKey(String secretKey) { this.secretKey = secretKey; } } ``` 此代码片段展示了如何定义一个名为 `MyProperties` 的组件,并通过指定前缀 `prefix="myapp"` 来关联特定的配置条目[^2]。 #### 编写 application.properties 文件 确保在项目的资源路径下存在 `application.properties` 或者其他形式的应用程序配置文件(如 `.yml`),并将必要的设置添加进去: ```properties # src/main/resources/application.properties myapp.accessKey=your-access-key-here myapp.secretKey=your-secret-key-here ``` 上述配置指定了应用程序所需的访问密钥和秘密密钥[^3]。 #### 测试配置加载情况 最后一步是验证这些配置能否被成功解析到对象实例中。可以借助于 JUnit 和 Spring Boot 提供的支持来进行单元测试。 ```java @SpringBootTest class PropertiesTest { @Autowired private MyProperties myProperties; @Test void contextLoads() { System.out.println("配置accessKey: " + myProperties.getAccessKey()); System.out.println("配置secretKey: " + myProperties.getSecretKey()); } } ``` 这段测试代码会打印出从配置文件中获取到的实际值,从而证明了 `@ConfigurationProperties` 已经正确地完成了其职责[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值