gpt4 book ai didi

在另一个 Service 中 Spring 注入(inject) Service

转载 作者:行者123 更新时间:2023-12-03 22:03:08 26 4
gpt4 key购买 nike

我有两个要设置的服务和一个 Controller ,如下所示:

Controller 类:

@Controller
public class MyController {

@Autowired
IMyService1 service;
}

服务二:
@Service
public class MyService2 implements IMyService2 { }

服务一:
@Service
public class MyService1 implements IMyService1 {

@Autowired
IMyService2 myService2; // this bean is not getting created
}

beans.xml 中的所有内容都已正确设置,以便在组件扫描中获取组件,并且所有内容都在同一个基本包下。

第一个服务已正确注入(inject)到 Controller 类中,但第二个服务未能注入(inject) (BeanCreationException) 到第一个服务中。

有没有人遇到过这个问题或关于我在这里可能做错的任何想法/建议?

最佳答案

我对该主题进行了一些研究,但找不到解决此问题的答案,并且我只能在没有 @Service 的情况下动态实例化第二个服务注解。

Controller :别碰,都一样

@Controller
public class MyController {
@Autowired
IMyService1 service;
}

服务2:删除 @Service从第二个服务
public class MyService2 implements IMyService2 {
public void doSomething() {
// your code
}
}

服务一:删除 @Autowired并动态实例化您的第二个服务
@Service
public class MyService1 implements IMyService1 {
public void actionWithService2() {
new MyService2().doSomething();
}
}

关于在另一个 Service 中 Spring 注入(inject) Service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12824431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com