[SPRING] 종속성 삽입 서블릿 수신기
SPRING종속성 삽입 서블릿 수신기
내 Stripes 앱에서 다음 클래스를 정의합니다.
MyServletListener implements ServletContextListener, HttpSessionListener, HttpSessionAttributeListener {
private SomeService someService;
private AnotherService anotherService;
// remaining implementation omitted
}
이 애플리케이션의 서비스 레이어는 Spring을 사용하여 XML 파일에서 일부 서비스 빈을 정의하고 연결합니다. SomeService 및 AnotherService를 구현하는 빈을 MyServletListener에 삽입하고 싶습니다. 이것이 가능합니까?
해결법
-
==============================
1.이 같은 것이 작동해야합니다 :
이 같은 것이 작동해야합니다 :
public class MyServletListener implements ServletContextListener, HttpSessionAttributeListener, HttpSessionListener { @Autowired private SomeService someService; @Autowired private AnotherService anotherService; public void contextInitialized(ServletContextEvent sce) { WebApplicationContextUtils .getRequiredWebApplicationContext(sce.getServletContext()) .getAutowireCapableBeanFactory() .autowireBean(this); } ... }
리스너는 web.xml의 Spring의 ContextLoaderListener 다음에 선언되어야합니다.
-
==============================
2.좀 더 짧고 더 간단하게 SpringBeanAutowiringSupport 클래스를 사용하는 것입니다. 당신이해야 할 일은 이것입니다.
좀 더 짧고 더 간단하게 SpringBeanAutowiringSupport 클래스를 사용하는 것입니다. 당신이해야 할 일은 이것입니다.
SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
그래서 axtavt의 예제를 사용하면 :
public class MyServletListener implements ServletContextListener, HttpSessionAttributeListener, HttpSessionListener { @Autowired private SomeService someService; @Autowired private AnotherService anotherService; public void contextInitialized(ServletContextEvent sce) { SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this); } ... }
from https://stackoverflow.com/questions/5511152/dependency-inject-servlet-listener by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring에서 @PropertyResource로 여러 속성 파일에 액세스하기 (0) | 2019.01.16 |
---|---|
[SPRING] Spring 애플리케이션에서 CXF를 사용하여 JAX-RS 리소스를 자동 검색 (0) | 2019.01.16 |
[SPRING] 보안 된 엔드 포인트에만 스프링 보안 필터를 적용하는 방법은 무엇입니까? (0) | 2019.01.16 |
[SPRING] @Transactional 및 Spring 보안 @PreAuthorize의 순서 (0) | 2019.01.16 |
[SPRING] 404 페이지를 단일 페이지 앱으로 리디렉션하도록 스프링 부팅 구성 (0) | 2019.01.16 |