Spring中的Spring的autowire属性是否覆盖了bean的@Autowired属性是如何自动装配的?

时间:2012-09-25 09:05:05

标签: java spring spring-annotations

似乎并非如此。我曾经认为XML配置是为了覆盖注释。但是当我在XML配置中设置autowire =“no”时,bean的@Autowired annotated属性仍然生效。我不再确定XML autowire是否与@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;
}

1 个答案:

答案 0 :(得分:2)

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