BeanPostProcessor自定义bean加载后属性注入
在合理的范围内,经常给自己加戏,才能得到锻炼和被指导的机会。
前段时间,看到公司的大牛用到了注解,来将从配置中心获取配置文件中的属性在bean加载后注入到bean的属性中去,于是自己尝试了一下,代码如下:
1,先写配置项,使得springboot加载的时候,能够将该配置加载进去。
2,具体实现的TestBeanPostProcessor,需要实现BeanPostProcessor接口,在postProcessAfterInitialization方法中,写自己定义的逻辑,此处我读取注解本身的值(此处也可以使用其他的逻辑,比如从配置中心获取新的属性)来设置到bean的属性中。
3,在属性上的注解
4,bean本身
5,在类上的注解,用来确定,是哪个bean需要post processor。
仅此。
不过有些疑问待查:
1,公司的大牛用了代理,在postPostProcessorAfterInitialization方法return bean的时候,返回的并不是bean本身,而是jdk或者cglib代理,具体原因待查。
2,配置类的AfterConfigureOrder的作用。