我有两个服务和一个我想设置的控制器,如下所示:
控制器类:
@Controller
public class MyController {
@Autowired
IMyService1 service;
}
服务2:
@Service
public class MyService2 implements IMyService2 { }
服务1:
@Service
public class MyService1 implements IMyService1 {
@Autowired
IMyService2 myService2; // this bean is not getting created
}
在beans.xml中正确设置了所有内容以在组件扫描中获取组件,并且所有内容都在相同的基础包下。
第一个服务正确地注入到Controller类中,但第二个服务未能注入(BeanCreationException)到第一个服务中。
有没有人遇到过这个问题或任何有关我在这里做错的想法/建议?
答案 0 :(得分:0)
我对此进行了一些研究,但是找不到解决该问题的答案,而且我只能在没有@Service
注释的情况下动态实例化第二个服务。
控制器:请勿触摸,是一样的
@Controller
public class MyController {
@Autowired
IMyService1 service;
}
服务2:从第二个服务中删除@Service
public class MyService2 implements IMyService2 {
public void doSomething() {
// your code
}
}
服务1::删除@Autowired
并动态实例化您的第二项服务
@Service
public class MyService1 implements IMyService1 {
public void actionWithService2() {
new MyService2().doSomething();
}
}