XML 中 Spring 的自动连线属性是否覆盖了 bean @Autowired属性的自动连线方式?



似乎不是这样。我曾经认为 XML 配置旨在覆盖注释。但是当我在 XML 配置中设置 autowire="no" 时,Bean 的 @Autowired 注释属性仍然有效。我不再确定XML自动连线是否与@Autowired有任何关系。在我看来,这是非常违反直觉的。

有人可以指出我对此有所说明的文档吗?

这是我的例子:

<bean class="com.example.Tester"></bean>
<bean class="com.example.ClassToTest" autowire="no"></bean>
public class Tester
{
    @Autowired
    ClassToTest testSubject;
}
public class ClassToTest
{
    @Autowired // I want this not to get autowired without removing this annotation
    private OtherDependency;
}

autowire="no"意味着我们必须使用基于XML的配置或@Autowire显式连接我们的依赖项,这是默认设置。通过 xml 配置或注释自动连线意味着使用给定策略隐式映射依赖关系。有关更多详细信息,请参阅此处

最新更新