一个被注解为@Service
的类调用另一个被注解为@Service
的类,这样做可以吗?或者这是一种不好的做法吗?
例如:
@Service
public class MyService {
// ...
@Autowired
private MyOtherService myOtherService;
// ...
}
一个被注解为@Service
的类调用另一个被注解为@Service
的类,这样做可以吗?或者这是一种不好的做法吗?
例如:
@Service
public class MyService {
// ...
@Autowired
private MyOtherService myOtherService;
// ...
}
在调用服务时并没有任何限制,除非您在服务之间创建了循环依赖关系。
循环依赖关系:https://en.wikipedia.org/wiki/Circular_dependency
Spring中的循环依赖关系:https://www.baeldung.com/circular-dependencies-in-spring
现在大家都忽略了实用类,这是一个很好的做法,因为它受到水平扩展的启发...当然,服务必须与其他服务进行交互。
不需要担心,就像一个服务管理员需要另一个管理员的服务一样。
只有一个应该依赖于另一个,而不是两个都依赖。
@Service
public class MyService {
// ...
@Autowired
private MyOtherService myOtherService = new MyOtherService();
// ...}
试试这个。对我有用。你可以在许多服务中使用一个服务的方法。
@Autowired
注解就没有意义了。 - jAC