har*_*hit 11 java annotations spring-mvc
我有一个界面
public interface ParentService{}
Run Code Online (Sandbox Code Playgroud)
和两个实现类
@Service("child1service")
public class Child1 implements ParentService{}
@Service("child2service")
public class Child2 implements ParentService{}
Run Code Online (Sandbox Code Playgroud)
现在我的控制器
public class ServeChild1Controller extendds AbstractController{
@Autowired
public ServeChild1Controller(@Qualifier("child1service") ParentService child1service){
super(child1service)
}
Run Code Online (Sandbox Code Playgroud)
同样有ServeChild2Controller ..
因此,当我运行时,我得到以下错误
ServeChild1Controller的错误:没有定义[com.service.ParentService]类型的唯一bean:期望的单个匹配bean但找到2 child1service,child2service
我试图阅读更多关于这些注释但无法解决它..任何指针将有所帮助谢谢
Fra*_*eth 22
为了使用特定的实例,您需要使用@Qualifier(id)为服务注释,并在构造函数中再次使用@Qualifier来激活参数,如下所示:
@Service("child1service")
@Qualifier("child1service")
public class Child1 implements ParentService{}
@Service("child2service")
@Qualifier("child2service")
public class Child2 implements ParentService{}
Run Code Online (Sandbox Code Playgroud)
而你构造函数:
public class ServeChild1Controller extendds AbstractController{
@Autowired
public ServeChild1Controller(@Qualifier("child1service") ParentService child1service){
super(child1service)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20702 次 |
| 最近记录: |