2016-09-24 5 views
0

나는 아래의 bean이 정의 된 abc.xml이라는 파일을 가지고 있는데, 자바 클래스에서이 bean을 명시 적으로 호출 할 수있는 방법을 알려달라고 요청한다.이 bean을 호출하려고한다. 난 내 자바 클래스에서이 빈을 호출 할 수 있도록이 빈의 참조가 내 수업이 명시 적으로 아래 자바 클래스에서 Spring bean을 명시 적으로 호출한다.

는 abc.xml

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

에 정의 된 스프링 빈은 내가이 빈을 호출 할 명시 적으로 자바 클래스에서 조언을주십시오

+0

Spring을 사용하여 호출자에게 bean을 주입하면 호출 할 수 있습니다. – duffymo

+0

답장을 보내 주셔서 감사합니다. 참조 속성을 호출하여 삽입하는 법을 배우십시오. 봄에 처음이기 때문에 조언하십시오. – user1508454

+0

스프링 문서를 읽어야합니다. 이것은 Spring 종속성 삽입 101입니다.이 유스 케이스를 이해하지 않고 Spring을 사용할 수는 없습니다. – duffymo

답변

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> 

또는 세터를 사용하여 ...

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

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

그리고 마지막으로 객체를 주 메뉴로 가져옵니다 ...

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

아니면, 의존성이있는 객체를 Spring의 제어하에있는 bean으로 만들고, 호출하고자하는 bean에 삽입하면된다. – duffymo

관련 문제