美文网首页
Springboot里如何优雅的使用配置文件的配置项?

Springboot里如何优雅的使用配置文件的配置项?

作者: 得鹿梦为鱼 | 来源:发表于2020-11-08 22:07 被阅读0次

    背景

    阅读springboot源码时,了解到spring是如何自动获取配置项的

    Properties

    通过 java.util.Properties 手动来读取 application.properties

    @Value

    @Value

    @ConfigurationProperties + @EnableConfigurationProperties

    使用这种方式最为优雅,向spring靠齐

    第一步,定义 **Properties 类,加上 @ConfigurationProperties 注解

    参照:org.springframework.boot.autoconfigure.data.redis.RedisProperties


    @ConfigurationProperties

    第二步,添加一个 **Configuration 类,使用@EnableConfigurationProperties 注解引入第一步定义的class

    参照:org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration

    image.png

    java 类建好后,在 application.properties/application.yml 配置文件添加配置项


    application.properties

    为什么优雅?

    以 RedisProperties.class 为例

    1.安全:只有定义在 RedisProperties.class 的属性的配置项,才会生效
    2.方便易用:一处定义,可多处使用,因为使用的将是类
    3.方便管理:如果是yml格式,很有层次感,配置项和类的属性定义将会层次分明(支持属性是对象或者list)

    小问题

    使用过程总的来说比较繁琐,没有@Value方便

    相关文章

      网友评论

          本文标题:Springboot里如何优雅的使用配置文件的配置项?

          本文链接:https://www.haomeiwen.com/subject/yvlmvktx.html