Open huangfusuper opened 2 years ago
envoy.protocol.id=huangfu3 envoy.protocol.port=22123 envoy.protocol.serialization-name=123
对应的实体类如下:
/** * 协议名称 */ private String protocolName = ProtocolNameEnum.NETTY.getName(); /** * 序列化名称 */ private String serializationName = SerializationNameEnum.FAST_JSON.getName();
已经使用 @EnableConfigurationBeanBinding 进行绑定该实体类
@EnableConfigurationBeanBinding
但是上述配置无法注入 serialization-name 属性,当属性转变为 serializationName 注入成功
serialization-name
serializationName
spring 中默认会使用驼峰转换的方式,当配置中制定为 xx-xx的时候希望能够注入到 xxXx属性中!
手动实现一个BeanPostProcessor优先级高于 ConfigurationBeanBindingPostProcessor ,自己向BeanDefinition的attribute中增加一个 驼峰转换后的值,最后再经由ConfigurationBeanBindingPostProcessor 完成注入
版本为:1.0.10
使用方式:
对应的实体类如下:
已经使用
@EnableConfigurationBeanBinding
进行绑定该实体类但是上述配置无法注入
serialization-name
属性,当属性转变为serializationName
注入成功期望
spring 中默认会使用驼峰转换的方式,当配置中制定为 xx-xx的时候希望能够注入到 xxXx属性中!
现阶段的处理方式
手动实现一个BeanPostProcessor优先级高于 ConfigurationBeanBindingPostProcessor ,自己向BeanDefinition的attribute中增加一个 驼峰转换后的值,最后再经由ConfigurationBeanBindingPostProcessor 完成注入