Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从带注释的spring类引用spring上下文xml中声明的bean_Xml_Spring_Annotations - Fatal编程技术网

如何从带注释的spring类引用spring上下文xml中声明的bean

如何从带注释的spring类引用spring上下文xml中声明的bean,xml,spring,annotations,Xml,Spring,Annotations,例如: spring上下文xml <beans> <bean id="a" class="ClassA" /> </beans> @服务 公开课考试{ @资源接口a-ifcA } 公共类ClassA实现了InterfaceA{ } 公共接口{ } 我想知道如何从启用了注释的java类中引用xml声明的xml bean 我知道的一种方法是获取上下文,然后获取bean 请建议。在您的注释类中,声明此 @Autowired InterfaceA ifcA;

例如:

spring上下文xml

<beans>
<bean id="a" class="ClassA" />
</beans>

@服务 公开课考试{

@资源接口a-ifcA

}

公共类ClassA实现了InterfaceA{ }

公共接口{ }


我想知道如何从启用了注释的java类中引用xml声明的xml bean

我知道的一种方法是获取上下文,然后获取bean


请建议。

在您的注释类中,声明此

@Autowired InterfaceA ifcA;

Spring将自动填充适当的bean实例。

您的代码应该是开箱即用的,因为Spring还负责@Resource注释。它根据请求的类型查找相应的bean(这就是为什么它被称为“类型自动连接”)


您也可以使用
@Resource(name=“a”)
@Autowired@Qualifier(“a”)
ifcA
变量处指定bean的名称。因为您在这里指定了bean的名称,所以它被称为“按名称自动连接”。

所以我不需要用@Component/@Service right注释实现,因为在xml中已经提到了它。这是正确的。ClassA不需要任何类型级别的注释,只要它像您这样在上下文xml中实例化。顺便问一下,您是如何实例化测试类的?我正在将依赖项注入xml迁移到注释中。我想在xml中使用并删除所有bean定义。谢谢你的回答。这很有帮助。