Configuration 的proxyBeanMethods作用
时间: 2023-07-05 21:26:33 浏览: 91
ConfigurationManager
在 Spring Boot 中,当我们定义一个配置类时,通常会使用 @Configuration 注解来标记该类。而 proxyBeanMethods 属性则是 @Configuration 注解的一个可选参数,用于指示 Spring 是否应该使用代理来管理该配置类中定义的 Bean 实例。
当 proxyBeanMethods 设置为 true 时,Spring 会为该配置类生成一个 CGLIB 代理对象,该代理对象会拦截对该配置类中定义的 Bean 方法的调用。每次调用该方法时,代理对象都会检查 Spring 容器中是否已经存在该 Bean 的实例,如果存在则直接返回,否则会调用方法来创建该 Bean 的实例,并将其添加到 Spring 容器中。这样,我们就可以通过依赖注入的方式来使用该 Bean。
需要注意的是,proxyBeanMethods 属性仅在使用 @Configuration 注解时才有效,并且默认值为 true。如果我们将其设置为 false,则 Spring 将不会为该配置类生成代理对象,而是每次都会调用方法来创建 Bean 的实例。这样可能会导致性能问题,特别是在配置类中定义了大量的 Bean 实例时。因此,通常建议将 proxyBeanMethods 设置为 true,以提高应用程序的性能。
阅读全文