session 모니터 에서 spring 의 bean 대상 을 가 져 옵 니 다.

요즘 뭐 하 다가 울 뻔 했 어!!지난 정시 미 션 에서 servlet Context 로 느낌 이 들 었 어 요!너무 힘 들 어 요. 원래 프레임 워 크 는 혼자 하지 않 아 도 돼 요. 많은 문 제 를 해결 하 는 사람 이 있어 요. 제 가 해 야 할 일 은 업 무 를 잘 알 고 데이터 베이스 와 상호작용 을 하 는 것 뿐 이에 요!지금 은 달 라 졌 다. 내 가 해 야 할 일 은 모든 것 을 설계 하 는 것 이다. 좋 은 일 을 많이 하고 문 제 를 하나씩 해결 하 는 것 은 단지 한 글자 만 이 내 가 방금 문 제 를 해결 한 쾌감 을 표현 할 수 있다. - "시원 하 다"!그냥 힘 든 점.
    이번 문 제 는 Session Listener 에서 spring 의 bean 대상 을 사용 하 는 것 입 니 다.처음 했 을 때 이것 이 문제 가 아니 라 는 것 을 느 꼈 으 니, 직접 주석 을 달 면 도착 할 수 있 었 다.사실 이것 은 매우 두 번 째 잘못 이다!감청 기 는 스프링 용기 가 관리 하 는 게 아니 라그들 둘 은 웹. xml 에서 설정 되 어 있 으 며, 모니터 에 bean 대상 을 설명 하면 서버 가 시작 하면 오류 가 발생 할 수 있 습 니 다.
    이번 해결 방법 과 지난 글 의 두 가지 방법의 결합!spring 의 application ContextAware 인 터 페 이 스 를 사용 합 니 다.
    코드 부터 봐!
@Component 
/*
 *            spring          ApplicationContext   ,
 *        spring  bean */
public class GETApplicationContext implements ApplicationContextAware{
	private static ApplicationContext applicationContext;
	public void setApplicationContext(ApplicationContext arg0)
			throws BeansException {
		applicationContext = arg0;
	}
	public static ApplicationContext getApplicationContext(){
		return applicationContext;
	}
}

    위의 코드 는 응용 프로그램 Context 대상 을 얻 을 수 있 습 니 다. 이 다음 일 은 훨씬 쉬 워 집 니 다!
    모니터 에서 사용:
ApplicationContext applicationContext = GETApplicationContext.getApplicationContext();
UserService userService = (UserService) applicationContext.getBean("userServiceImpl");

    이제 데이터베이스 와 즐 거 운 상호작용 을 시작 합 시다!!

좋은 웹페이지 즐겨찾기