从另一个调用Spring服务类

我的项目中有两个spring bean服务类。 是否可以从另一个呼叫? 如果是的话,怎么做?

我的项目中有两个spring bean服务类。 可以从另一个人那里打电话吗? 如果是的话,怎么做?

规范方法是在第一个服务中声明对第二个服务的依赖,并且只是调用它。

public class FooImpl implements Foo { private Bar bar; // implementation will be injected by Spring public FooImpl() { } public FooImpl(Bar bar) { this.bar = bar; } public void setBar(Bar bar) { this.bar = bar; } public Bar getBar() { return this.bar; } public void doFoo() { getBar().doBar(); } } 

并将Spring配置为连接在一起(Spring的核心工作),即将Bar实现注入到Foo服务中。

这是使用dependency injection框架的关键。 想法是你只是声明依赖,框架连接它们。 例如

 Class A{ private B b; public void setB(B b) { this. b=b;} } Class B{ .... } 

然后,您连接框架以将B实例注入A中。如果从框架中获得A,则已提供B。 应该没有代码在A实例中显式设置B实例。

查找一些dependency injection的引用

您可以在spring中调用任何其他内容,只要您可以访问存在服务的上下文或bean工厂。 如果您不想遍历上下文,则只需将服务引用传递给配置文件中的任一服务即可。