43.@Bean之间的方法调用是怎么保证单例的?(@Configuration加与不加的区别是什么?)
发布时间:2024年01月09日
@Bean之间的方法调用是怎么保证单例的?(@Configuration加与不加的区别是什么?)
- 1.如果希望@bean的方法返回是对象是单例 需要在类上面加上@Configuration,
- 2.Spring 会在invokeBeanFactoryPostProcessor 通过内置BeanFactoryPostProcessor中会CGLib生成动态代理代理
- 3.当@Bean方法进行互调时, 则会通过CGLIB进行增强,通过调用的方法名作为bean的名称去ioc容器中获取,进而保
证了@Bean方法的单例
扩展
1、Bean的单例和多例使用
在Spring中,bean可以被定义为两种模式:prototype(多例)和singleton(单例)
- singleton(单例):只有一个共享的实例存在,所有对这个bean的请求都会返回这个唯一的实例。
- prototype(多例):对这个bean的每次请求都会创建一个新的bean实例,类似于new。
Spring bean 默认是单例模式。
Spring官方文档中给出的bean的scope有五种:
- request:当每次请求时实例化。
- session:当在一个session周期内,对象时单例的。
- globalSession:依赖包spring-mvc-portlet&#
文章来源:https://blog.csdn.net/weixin_43860634/article/details/135486360
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!