factoryBean解析
2021-12-07 15:12:01 1 举报
factoryBean解析
作者其他创作
大纲/内容
重写getObjectType方法
FactoryBean主要使用:FactoryBean 其实就是封装了bean的初始化过程而已,一般用于对接口的注入,列如FeignClientFactoryBean分装了对于注入的feignClient对象的初始化及获取过程。MapperFactoryBean 封装了对于注入的各种dao的对象的获取过程。具体都可以去阅读源码。
factoryBean解析:特殊的Bean对象
注意:当yaoJieFactoryBean注入spring容器的时候,其实也会将Yaojie这个类的对象注入spring容器(其实是放在这个对象中:factoryBeanObjectCache,当获取时如果是factorybean则会去这个map里面取值。key:bean的名称,value:factorybean对应的对象),看上去相当于将两个对象交给了spring管理。YaoJieFactoryBean这个对象是在spring容器中(我们所认知的容器),但是 Yaojie对象其实是在factoryBeanObjectCache对象中,虽然都是在缓存中,但是两者还是有所区别的主要方法:getObjectFromFactoryBean 类:FactoryBeanRegistrySupport
实现factoryBean接口
return new Yaojie()
return Yaojie.class
重写getObject方法
当用名称去获取各自的bean对象时,也有讲究,假设yaoJieFactoryBean类的对象注入spring容器时@Component(\"yaoJieFactoryBean\") 那么通过bean的name获取的对象为getObject方法返回的对象即Yaojie类的对象,若想获得自身对象则需要在name前加上前缀“&”也就是“&yaoJieFactoryBean”。
yaoJieFactoryBean
0 条评论
下一页