从java类中显式调用Spring bean

时间:2016-09-24 13:48:56

标签: java spring

我有一个名为abc.xml的文件,其中定义了下面的bean,请求你告诉我如何在我的java类中显式调用这个bean,我想把这个bean作为这个bean的引用来调用我的类所以我想从我的java类中明确地调用这个bean

下面的

是abc.xml中定义的spring bean

<bean id="springJobExecutor" class="com.scheduler.autosys.core.SpringBeanJobExecutor" singleton="false"/>

我想明确地从java类中调用这个bean,请告知

1 个答案:

答案 0 :(得分:0)

你的意思是简单注射吗?您必须创建ApplicationContext对象并从中获取实例:

ApplicationContext context = new ClassPathXmlApplicationContext("abc.xml");

SpringBeanJobExecutor springJobExecutor =
context.getBean("springJobExecutor", SpringBeanJobExecutor.class);

或者,如果你的意思是依赖注入使用构造函数...

<bean id="springJobExecutor"
class="com.scheduler.autosys.core.SpringBeanJobExecutor" singleton="false"/>

<bean id="myObject" class="myClass" >
    <constructor-arg index="[argument_index]" ref="springJobExecutor"/>
</bean>

或使用setter ......

<bean id="springJobExecutor"
class="com.scheduler.autosys.core.SpringBeanJobExecutor" singleton="false"/>

<bean id="myObject" class="myClass" >
    <property name="[name]" ref="springJobExecutor"/>
</bean>

最后在main中获取对象...

MyClass myObject = context.getBean("myObject", MyClass.class);