BeanPostProcessor自定义bean加载后属性注入

在合理的范围内,经常给自己加戏,才能得到锻炼和被指导的机会。

前段时间,看到公司的大牛用到了注解,来将从配置中心获取配置文件中的属性在bean加载后注入到bean的属性中去,于是自己尝试了一下,代码如下:

1,先写配置项,使得springboot加载的时候,能够将该配置加载进去。

BeanPostProcessor自定义bean加载后属性注入_第1张图片

2,具体实现的TestBeanPostProcessor,需要实现BeanPostProcessor接口,在postProcessAfterInitialization方法中,写自己定义的逻辑,此处我读取注解本身的值(此处也可以使用其他的逻辑,比如从配置中心获取新的属性)来设置到bean的属性中。

BeanPostProcessor自定义bean加载后属性注入_第2张图片

3,在属性上的注解

BeanPostProcessor自定义bean加载后属性注入_第3张图片

4,bean本身

BeanPostProcessor自定义bean加载后属性注入_第4张图片

5,在类上的注解,用来确定,是哪个bean需要post processor。

BeanPostProcessor自定义bean加载后属性注入_第5张图片

仅此。

不过有些疑问待查:

1,公司的大牛用了代理,在postPostProcessorAfterInitialization方法return bean的时候,返回的并不是bean本身,而是jdk或者cglib代理,具体原因待查。

2,配置类的AfterConfigureOrder的作用。

你可能感兴趣的:(BeanPostProcessor自定义bean加载后属性注入)