我使用context-param
在web.xml中加载了“myspring.xml”在“myspring.xml”中我编写了bean,我将参数传递给构造函数参数
<bean id="abc" class="com.Hello">
<constructor-arg ref="dataSource"/>
<constructor-arg value= “dummy data”/>
</bean>
Hello bean中的我将构造函数初始化为
public class Hello{
public Hello(datasource,dummydata){
}
public void methodFromHelloBean(){
// use here dummydata from constructor
}
}
这里,'Hello'bean在服务器启动时初始化,正如我在web.xml中定义的那样,它运行正常。
我的问题是 -
我正致力于exisitng applciation。 我想在我的另一个类里面调用methodFromHelloBean()来说MyService类。 我如何在MyService类中调用该方法。
我知道的一种方法是使用applicationContext。 但是在我现有的应用程序中,我还没有看到使用应用程序上下文路径加载任何bean。
还有什么方法,我如何从'MyService'类初始化'Hello'bean。 在初始化时,我是否需要将参数传递给构造函数?如何。
提前致谢。
答案 0 :(得分:2)
假设我们有MyService
一个类,其bean实例使用来自methodFromHelloBean
abc
bean的方法Hello
。
public class Hello {
private boolean cacheInitialized;
public void methodFromHelloBean(Object param) {
if (!cacheInitialized) {
initializeCache(param);
cacheInitialized = true;
}
// do whatever you please with cache.
}
private void initializeCache(Object param) {
// TODO
}
}
public class MyService {
@Autowired
private Hello abc;
public void someMethod() {
// determine which parameters to pass to abc
Object param = ...
abc.methodFromHelloBean(param);
}
}