
factorybean创建spring bean的类型区分与实现
在spring中,factorybean可以创建和初始化bean,与直接new实例的bean不同。
区分类型:
使用factorybean创建的bean有两种类型:
代理类型:factorybean本身作为代理,通过反射动态创建和管理bean实例。单例类型:factorybean创建bean实例并将其缓存为单例,直接返回引用。
实现类型区分:
讯飞绘文
讯飞绘文:免费AI写作/AI生成文章
118 查看详情
要实现factorybean,可以实现两个接口:
factorybean:针对代理类型bean,其中t是bean的类型。factorybeanaware:针对单例类型bean,使其可以访问创建它们的factorybean。
实现代码示例:
代理类型:
public class myfactorybean implements factorybean { @override public a getobject() throws exception { return new b(); } @override public class getobjecttype() { return a.class; } @override public boolean issingleton() { return false; }}
单例类型:
public class MyFactoryBean implements FactoryBean, FactoryBeanAware { private A instance; @Override public void setFactoryBean(FactoryBean factoryBean) { instance = factoryBean.getObject(); } @Override public A getObject() throws Exception { return instance; } @Override public Class getObjectType() { return A.class; } @Override public boolean isSingleton() { return true; }}
以上就是FactoryBean创建Spring Bean的类型区分:代理类型和单例类型有什么区别?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/884187.html
微信扫一扫
支付宝扫一扫