你的位置:首页 > Java教程

[Java教程]spring之Autowired小坑

spring引进注解之后大大简化了

公司的service调用采取的是远程调用方式,各个部门把各自对外提供的service用192.168.0.1:4080/services/XXX这样的url暴露出来,在浏览器中是可以直接调用的,相应地spring配置service的时候就不像平时自己写代码的时候配个com.xx.##impl这样了,而是用url的方式。背景介绍完毕。

我在引用xxService的时候,不仅在spring-bean.

原因在于@Autowired找适合的bean的时候是采取byType方式的,意思是如果我有个AService以及一个AServiceImpl实现了AService,为AService标注了@Autowired则会先去你的代码结构中找到看看有没有AServiceImpl这样一个类,如果有就自动装配,没有就报错。而先前已经提过了,这是远程service,我的代码结构里肯定是找不到这个impl类的,因此即使我在spring-bean.

如果强行要用Autowired的话。。。

还可以加个@Qualifier限定死名字让Autowired知道用byName来找吧。