[SPRING] 공장에서 생성 한 인스턴스를 autowire하는 스프링 방식은 무엇입니까?
SPRING공장에서 생성 한 인스턴스를 autowire하는 스프링 방식은 무엇입니까?
나는 (현재 구현되지 않은) 버전 의존 인스턴스를 생성하기로되어있는 컨트롤러를 가지고있다.
@Controller
public class ReportController {
@Autowired
private ReportCompFactory reportCompFactory;
public ModelAndView getReport() {
I_Report report = reportCompFactory.getObject();
^^^^^<- no autowiring in this instance
}
...
}
팩토리는 다음과 같습니다.
@Component
public class ReportCompFactory implements FactoryBean<I_Report> {
@Override
public I_Report getObject() throws BeansException {
return new ReportComp();
}
@Override
public Class<?> getObjectType() {
return I_Report.class;
}
@Override
public boolean isSingleton() {
return false;
}
}
작성된 인스턴스 필드 (@Autowired annotated)는 설정되지 않습니다. FactoryBean은 구현하기에 적합한 인터페이스입니까?
나는 xml-configurations을 포함하지 않는 솔루션을 선호한다.
구성 요소 자체 :
ReportComp implements I_Report {
@Autowired
private ReportDao reportDao;
^^^^^^^<- not set after creation
...
}
}
해결법
-
==============================
1.Spring은 객체를 생성 할 때 autowiring을 수행하지 않는다. 몇 가지 옵션이 있습니다.
Spring은 객체를 생성 할 때 autowiring을 수행하지 않는다. 몇 가지 옵션이 있습니다.
from https://stackoverflow.com/questions/6596655/what-is-the-spring-way-to-autowire-factory-created-instances by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring Batch : Spring MVC 컨트롤러 내에서 새로운 스레드로 작업 시작하기 (0) | 2019.03.23 |
---|---|
[SPRING] AnnotationException 참조되지 않은 속성 (One | Many) ToOne (0) | 2019.03.23 |
[SPRING] Spring 데이터 JPA : get 결과 튜플에서 별칭을 찾지 못했습니다! 사용자 지정 쿼리를 실행할 때의 오류 (0) | 2019.03.23 |
[SPRING] 병렬 스프링 배치 작업의 수를 제어하는 방법 (0) | 2019.03.23 |
[SPRING] Spring - bean 속성 값을 새로운 Property File 값으로 대체하기 (0) | 2019.03.23 |