[SPRING] 자바 커스텀 / 단순 태그에 스프링 관리 빈을 주입하는 우아한 방법이 있는가?
SPRING자바 커스텀 / 단순 태그에 스프링 관리 빈을 주입하는 우아한 방법이 있는가?
나는 스프링 관리 빈을 사용하는 자바 사용자 정의 태그를 많이 가지고있다. 나는 커스텀 태그를 삽입 할 방법을 찾지 못하기 때문에 모든 스프링 빈 객체에 대해 "getTheObjectINeedBean ()"정적 메소드를 제공하는 도우미 클래스를 만들었다. 필요합니다 .. 나는이 접근법을 전혀 좋아하지 않습니다.
난 정말 스프링 관리 빈을 사용자 정의 태그에 삽입 할 수 있기를 원합니다.
방법이 있습니까? 내 연구가 진행되는 한, 맞춤 태그가 컨테이너로 관리되기 때문에이를 수행 할 방법이 없다는 것을 이해합니다.
감사,
곤봉
해결법
-
==============================
1.스프링에 의해 관리되지 않기 때문에 jstl 태그에서 의존성 삽입을 사용하는 간단한 방법이 없다는 것이 맞습니다. 그러나 최소한 두 가지 해결 방법이 있습니다.
스프링에 의해 관리되지 않기 때문에 jstl 태그에서 의존성 삽입을 사용하는 간단한 방법이 없다는 것이 맞습니다. 그러나 최소한 두 가지 해결 방법이 있습니다.
어떤 옵션이든 추가 코드가 필요하거나 "흑 마법"이 필요하지 않기 때문에 어느 옵션도 완벽하지 않습니다.
-
==============================
2.@ Bozho의 게시물을 확장하려면 다음과 같이 작동해야합니다. (봄 3.0에서는 찾을 수있는 ApplicationContext Utils가 없습니다)
@ Bozho의 게시물을 확장하려면 다음과 같이 작동해야합니다. (봄 3.0에서는 찾을 수있는 ApplicationContext Utils가 없습니다)
public class LocationTag extends RequestContextAwareTag { @Autowired PathComponent path; ... @Override protected int doStartTagInternal() throws Exception { if (path == null) { log.debug("Autowiring the bean"); WebApplicationContext wac = getRequestContext().getWebApplicationContext(); AutowireCapableBeanFactory acbf = wac.getAutowireCapableBeanFactory(); acbf.autowireBean(this); } return SKIP_BODY; } }
-
==============================
3.위에서 설명한 솔루션은 작동하지만 일부 배경 및 추가 코드 스 니펫이 유용 할 수 있습니다.
위에서 설명한 솔루션은 작동하지만 일부 배경 및 추가 코드 스 니펫이 유용 할 수 있습니다.
1) doStartTagInternal 메소드는 doStartTag 메소드에서 호출됩니다. 2) doStartTag를 호출하기 전에 먼저 pageContext를 설정해야했습니다. 3) autowiring과는 반대로 콩을 조회했다. 내게 이것은 더 직설적 인 것 같다 : (YourBeanProxy) autowireCapableBeanFactory.getBean ( "yourBeanName")
이 추가 정보가 유용하게 사용되기를 바랍니다.
from https://stackoverflow.com/questions/3445908/is-there-an-elegant-way-to-inject-a-spring-managed-bean-into-a-java-custom-simpl by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring RestTemplate - ResponseErrorHandler 무시 (0) | 2019.01.21 |
---|---|
[SPRING] Spring HandlerMethodArgumentResolver가 실행되지 않습니다. (0) | 2019.01.21 |
[SPRING] Spring 보안이 인증 성공 후 default-target-url을 치지 않음 (0) | 2019.01.20 |
[SPRING] JPA 2.0에서 엔티티 자동 검색 방법 (0) | 2019.01.20 |
[SPRING] spring jpa 문서 관리자 응용 프로그램에서 저장하지 않는 문서 (0) | 2019.01.20 |