SpringBoot:配置属性映射成员变量/实体类

  • 我们在配置文件 application.yaml 中,填写如下配置:

pattern:
    dateformat: yyyy-MM-dd HH:mm:ss
  • 我们希望将该配置映射至成员变量/ Java 实体类中使用,有以下两种方法:
@Value注解(成员变量)
  • 只需在变量上方添加@Value注解,使用 “$” 符号将指定配置属性映射至该变量即可,如下所示:
@RestController
@RequestMapping("/order")
public class OrderController {
    // 日期格式
    @Value("${pattern.dateformat}")
    private String dataformat;
    // 获取当前日期
    @GetMapping("/now")
    public String now() {
        return "@Value: " + LocalDateTime.now().format(DateTimeFormatter.ofPattern(dataformat);
    }
}
  • 如上,配置文件中的 pattern.dateformat 属性成功映射至变量 dataformat,其值为 “yyyy-MM-dd HH:mm:ss”
@ConfigurationProperties注解(实体类)
  • 只需在实体类上方添加 @ConfigurationProperties 注解,设置参数 premix 的值为pattern,并声明成员变量 dateformat
  • 如下所示:
@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
    // 日期格式
    private String dateformat;
}
@RestController
@RequestMapping("/order")
public class OrderController {
    // 注入Bean
    @Autowired
    private PatternProperties patternProperties;
    // 获取当前日期
    @GetMapping("/now")
    public String now() {
        return "@Configuration: " + LocalDateTime.now().format(DateTimeFormatter.
        ofPattern(patternProperties.getDateformat()));
    }
}
  • 如上,配置文件中的 pattern 已经成功映射至实体类 PatternProperties,其配置属性分别映射至实体类的同名成员变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值