zoukankan      html  css  js  c++  java
  • 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文件,方便使用时的动态提示与属性关联。

  • 相关阅读:
    Linux系统信息查看
    批处理Dos命令
    python语法31[函数]
    python基础31[数据结构list+tuple+set+dictionary]
    nmake使用
    linux间文件拷贝
    linux文件同步工具Unison的使用
    python语法31[基本数据类型和流程控制]
    远程桌面管理工具比较
    WindowsBatch与LinuxShell比较[batchfile之for命令详解]
  • 原文地址:https://www.cnblogs.com/asfeixue/p/14188991.html
Copyright © 2011-2022 走看看