一流专业建设网站,网页制作流程图片,app搭建要多少钱,专业网站建设机构spring自动装配依赖包我认为这篇文章是在企业应用程序开发中使用Spring的最佳实践。 使用Spring编写企业Web应用程序时#xff0c;服务层中的服务量可能会增加。 服务层中的每个服务可能会消耗其他服务#xff0c;这些服务将通过Autowire注入。 问题#xff1a;当服务数量… spring自动装配依赖包 我认为这篇文章是在企业应用程序开发中使用Spring的最佳实践。 使用Spring编写企业Web应用程序时服务层中的服务量可能会增加。 服务层中的每个服务可能会消耗其他服务这些服务将通过Autowire注入。 问题当服务数量开始增加时可能会发生循环依赖性。 它不必指出设计问题……只要在许多服务中自动连接并消耗其他服务之一的中央服务就足够了就可能发生循环依赖。 循环依赖关系将导致Spring Application Context失败并且症状是一个错误清楚地表明了问题所在 名称为*********的Bean已被注入其他Bean [************************** **********]的原始版本作为循环引用的一部分 但最终被包装例如作为自动代理创建的一部分。 这意味着所说的其他bean不使用该bean的最终版本。 这通常是过度渴望类型匹配的结果–例如考虑在关闭“ allowEagerInit”标志的情况下使用“ getBeanNamesOfType”。 现代Spring应用程序中的问题是bean是通过nnotations而不是通过XML定义的而allowEagerInit标志的选项根本不存在。 用Lazy注释类的替代解决方案对我来说根本不起作用。 可行的解决方案是将default-lazy-init “ true”添加到应用程序配置xml文件中 ?xml version1.0 encodingUTF-8?
beans default-lazy-inittrue xmlnshttp://www.springframework.org/schema/beans
xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance
xmlns:contexthttp://www.springframework.org/schema/context
xsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd context:component-scan base-packagecom.package/context:component-scan
context:annotation-config/
...
/beans 希望这可以帮助。 不知道为什么它不是默认配置。 如果您对为什么这种配置可能不满意有任何建议请与我们所有人分享。 更新 经过重新设计后上述解决方案根本无法解决问题。 因此我设计了更积极的解决方案以5个步骤解决了该问题 。 祝好运 参考通过Gal Levinsky博客博客中的JCG合作伙伴 Gal Levinsky 解决了Spring Autowiring中的循环依赖问题 。 翻译自: https://www.javacodegeeks.com/2012/08/resolve-circular-dependency-in-spring.htmlspring自动装配依赖包