到目前为止,我一直在使用 @Required 注释来确保 Spring 配置的应用程序中的 DI Bean。
要启用注释,您需要在配置中声明一个RequiredAnnotationBeanPostProcessor bean。
在你的测试配置中,你只是不声明它,这样如果不需要某些bean,你就不必将它们放在你的配置中。
我想切换到 less XML 并使用 @Autowired 注释,但默认情况下 required=true,这对于运行时配置来说很好。
但我需要 @Autowired 为 required=false 仅用于测试目的 - 同时保持运行时所需。
这可能吗?我找不到一种方法以声明方式将所需属性变为 false。
cheers
您可能已经解决了这个问题,但这个技巧可能对其他人有用。
据我了解,没有上下文:注释驱动存在 @Autowired 注释不应被处理,但显然情况并非如此,所以我可能会误解一些东西。
然而,我需要一个快速的解决方案......这个有点肮脏的技巧否定了所有类所需的值,使之前所需的内容成为可选的。将其添加到我的测试环境解决了我的问题,但只有在您的业务类中需要所有自动接线时它才有用。
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor">
<property name="requiredParameterValue" value="false" />
</bean>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)