java使用yml配置文件注入,set方法注入配置

1、先对yml文件中写入需注入的配置:

2、创建配置类:

import lombok.Data;

// 该注解等于 get set tostring
@Data
public class ModerInfo {
    /** 列表ID */
    private String listId;
    /** 账号 */
    private String acctNo;
    /** 性别 */
    private String gender;
}

3、创建列表注入类

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.List;

// 声明该类为配置类
@Configuration
// prefix的参数为前缀 需与yml文件中配置前缀相对应
@ConfigurationProperties(prefix = "moder.roster")
public class ListModerProperty {
    /** moderList 集合列表  变量名与配置中名称对应*/
    private static List<ModerInfo> list;

    /** getter方法 */
    private static List<ModerInfo> getList() {
        return list;
    }

    /**
     * 采用setter方法注入配置
     * 注意: 此处setter方法不可设置为static关键字修饰,否则注入失败
     * 形参列表中名称无关紧要
     */
    public void setList(List<ModerInfo> moderInFos) {
        ListModerProperty.list = moderInFos;
    }
}

该方式使用@ConfigurationProperties(prefix = "")的形式注入,可在nacos配置中心中配置自动实现热更新;若在不改动yml文件中配置的前提下,想要不采用list命名以上成员变量,可用另外的一种@Value("${moder.roster.list}")的形式注入,但要注意在类上要使用@RefreshScope注解才可以实现nacos热更新机制,不过这种方式日常开发中不推荐。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值