봄 @Autowired 나는 봄 @Autowired annotation.Please 도움말에 의심의 여지가봄 @Autowired annotaion
...
스프링 MVC에서,이 순서 @Autowired를 시도 할 때
컨트롤러 ---> 서비스 --->은 다오
즉, 컨트롤러에서 나는 서비스에서 서비스 클래스 개체를 autowire 클래스 Autowire Dao 객체.
이 사출 체인은 완벽하게 작동합니다.
Similliarly strutrs2 + 봄에, 나는 이런 식으로 @Autowired 어노테이션을 적용
액션 ---> 서비스 -> 다오
이 주입 체인도 잘 작동합니다.
서비스 체인에서 funtion으로 (예 : Custom Taglib 클래스 (예 : Custom Taglib 클래스))이 체인 외부에서 funtion을 호출하면이 서비스 클래스에서 Autowired dao 객체가 null입니다 (즉,이 호출은 체인을 멈추게합니다).
내 질문
이 @Autowired가 만 주입 체인에서 작동된다?
답장을 보내 주셔서 대단히 감사합니다. 그러나 Theory에서는 스프링 appliCationContext가 시작될 때로드되고 모든 bean이로드되고 모든 것이 live입니다. 그렇다면 bean이 실행 중인데도 Autowired injection 작업이 실패한 이유는 무엇입니까? – SRK
질문은, 당신이 호출하고있는 함수 (예를 들어 커스텀 taglib 클래스 메소드)가 * 호출중인 서비스 빈의 인스턴스를 얻는 방법은 무엇입니까? 'new MyService()'라고 말하면, postprocessor를 거치지 않았기 때문에 필드가 삽입되지 않습니다. 삽입 된 필드는 정적이 아니기 때문에 applicationContext는 클래스 자체를 autowire하지 않습니다. 인스턴스에 삽입되므로 내 taglib가 호출 할 서비스 인스턴스를 autowiring하지 않습니다. 하나의 인스턴스를 인스턴스화합니다. –
너 right.my taglib 클래스는 새로운 Myservice()를 사용하지만, taglib 클래스는 지원되지 않습니다. [link] (http://stackoverflow.com/questions/28304546/enable-jsp-custom-taglib-to-use-spring- 서비스 빈). – SRK