从另一个调用Spring服务类
答
我在我的项目中有两个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连线东西放在一起(春的核心工作),即注入Bar
落实到你的Foo
服务。
答
这是使用依赖注入框架的要点。这个想法是你只需声明依赖关系,框架将它们连接起来。例如
Class A{
private B b;
public void setB(B b) { this. b=b;}
}
Class B{
....
}
然后连接框架以将B实例注入到A.如果从框架中获得A,则已经提供B. 在A实例中应该没有代码明确设置B实例。
查找一些引用dependency injection
答
您还可以从春季别的什么,只要你有机会获得在服务中存在的背景下或bean工厂。如果您不想遍历上下文,则可以简单地将服务引用传递给配置文件中的任一服务。
我不确定你的意思。我在这个框架中没有经验。如果你能解释它,它会帮助我解决它。 – Joe 2010-09-06 02:13:16
你能解释一下吗?我有两个不同的服务类。 – Joe 2010-09-06 02:22:33
@Joe我不知道如何更清楚地解释事情。你究竟在问什么?关于Spring的教程? – 2010-09-06 02:30:12