繁体   English   中英

是否为 Spring 中的每个 Bean 创建了代理?

[英]Is a proxy created for each Bean in Spring?

因此,我在网上阅读,您无法将配置设为最终版本,因为 CGLIB 扩展了 class 以创建代理。 但是,我正在阅读@Scope 的文档,默认的 proxyMethod 值是没有创建代理(链接在这里-https://docs.spring.io/springframework/docs/current/javadoc-api/org/springframework/上下文/注释/Scope.html )。

所以,我的主要问题是,是否为每个 @Configuration 创建了一个代理?

Spring 仅在需要时为 bean 创建代理(例如:事务管理)。 我已经在这里解释了另一个 SO 问题,请通过答案的 A2 部分 go 了解更多详细信息。

对于带有@Configuration注释的 class ,将始终创建代理,这意味着它是必需的。 为什么需要它可以从以下参考资料中理解。

@Bean :通读@Configuration 类@Bean Lite 模式中的@Bean 方法部分

请通读@kriegaex 的这个出色答案,以了解@Configuration class 的内部工作原理。

因此,要回答您的问题是为每个 @Configuration 创建一个代理吗? 是的,除非明确配置了@ConfigurationproxyBeanMethods

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM