6.BeanDefinitionRegistyPostProcessor接口的应用

上篇文章讲了容器加载过程中会对实现了BeanDefinitionRegistyPostProcessor接口的调用,现在讲一下BeanDefinitionRegistyPostProcessor接口具体的应用,主要是对BeanDefinition的进行增删改操作。

1.创建一个类不加任何注解,也不在xml进行配置

spring.xml

通过前面所学的知道,肯定是无法对该类进行实例化,因为没有这个类的BeanDefinition,进行测试如下:

如果我们想对对这样一个没有@Component注解也没有进行xml配置的一个类进行实例化,该怎么办,这个时候我们就可以利用BeanDefinitionRegistyPostProcessor,完成对该类BeanDefinition的增加,然后进行注册

2.自定义类实现BeanDefinitionRegistyPostProcessor接口

再次测试

发现有了该类的BeanDefinition,然后实例化成功了

3.还可以自定义注解完成该类的实例化

3.1首先创建一个自定义注解

3.2给CustomerBeanDefinition类添加自定义的注解

3.3通过对BeanDefinitionRegistryPostProcessor接口的应用对应自定义注解进行扫描

3.4测试

结果发现自定义注解生效了,加了自定义注解的类也被扫描到并且封装成了BeanDefinition。

 

posted @ 2021-08-01 16:08  福福猿  阅读(82)  评论(0)    收藏  举报