• spring属性绑定


     

    Spring的属性绑定有很多种方式,比如:

    • @Value+spel表达式;
    • @ConfigurationProperties + spring-boot-configuration-processor依赖;
    • 动态注册BeanPostProcessor,在定义的配置bean装配期间依赖Binder完成属性的绑定;

    每一种方式都有各自的优缺点,下面简单对比下。

    • @Value+spel表达式

    这种方式使用灵活,针对个别属性的IOC很简单方便。但是在属性数量较多的情况下,每一个属性都需要配置表达式,用起来就比较麻烦了。同时,缺乏对数据的校验能力,没法在注入过程中对数据做类似jsr303校验。适合简单,数量较少的场合。

    • @ConfigurationProperties&动态注册BeanPostProcessor的方式

    两者都会生成配置bean,将散列的属性聚合在一个声明的bean中进行收束,相比@Value有很大的进步。但是@ConfigurationProperties的方式要更灵活+编码量也会更少。不过其需要依赖springboot,对于spring环境的要求更高一点。动态注册的方式,仅依赖spring,相对依赖更能往下兼容一些。@ConfigurationProperties支持对注入内容做jsr303校验。

    spring-boot-configuration-processor还可以针对配置属性动态生成spring-configuration-metadata.json文件,方便使用时的动态提示与属性关联。

  • 相关阅读:
    tablespaces
    转 房价
    Duplicate a whole line in Vim
    Dubbo+JStorm
    replace all
    ORACLE 最后表数据更新的时间
    list reverse
    python IDE
    string 方法
    java JIT AOT
  • 原文地址:https://www.cnblogs.com/asfeixue/p/14188991.html
Copyright © 2020-2023  润新知