SpringBoot @Value与@PropertySource操作配置文件

一、场景简述

笔者在SpringBoot框架中希望获取properties配置文件中的属性值,来实现隐藏配置信息暴露在代码中,并且在多个properties配置文件下来指定获取哪个属性值。所以就使用了@Value注解来获取配置文件的属性值,@PropertySource来指定配置文件。

 

二、场景实现

application.properties的配置信息

spring.data.mongodb.database=test
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017

创建一个实体类如下

@PropertySource({"classpath:application.properties"})
@Component
public class MongoDateConfig {

    /*
     * 属性
     */
    @Value("${spring.data.mongodb.database}")
    private String dbname;

    @Value("${spring.data.mongodb.host}")
    private String host;

    @Value("${spring.data.mongodb.port}")
    private Integer port;

    //setter or getter 

    //toString
}

以上只要在相应位置将它的Bean引入(使用@Autowired),使用get方法即可获取配置文件中相应的属性值。

 

若有多个properties配置文件,则使用如下方法

如果有不同配置文件,相同属性名的话,则取值为最后一个配置文件中的值

@PropertySource({"classpath:config/my.properties","classpath:config/config.properties"})

 

若一个properties配置文件中需要有多个数据源,则使用如下方法

在properties配置文件中配置

spring.data.mongodb.primary.database = test
spring.data.mongodb.primary.host=localhost
spring.data.mongodb.primary.port=27017

spring.data.mongodb.secondary.database = test2
spring.data.mongodb.secondary.host=localhost
spring.data.mongodb.secondary.port=27017

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值