티스토리 뷰

발생일: 2009.10.01

문제:
예제 1을 수행하려고 한다.
Bean 설정도 끝났고 (여긴 성공이다!),
AOP 를 적용한 후에 테스트해보려고 한다.

엥, 근데 아무리 해도 AOP 적용이 안된다. 아예 xml 파일을 읽기조차 안하는 것 같다..
xml 파일의 경로도 올바르고 책의 예제대로 돌렸는데,... 이상하다....

메인 메서드는 아래와 같다.

    public static void main(String[] args) {
        BeanFactory factory = new  XmlBeanFactory(new FileSystemResource("c:/chap1/knight.xml"));
                // knight.xml 파일에 AOP 에 대한 설정도 포함되어 있다.
       
        Knight knight = (Knight) context.getBean("knight");
       
        knight.embarkOnQuest();
    }

해결책:
얼마나 삽질을 했던가,...

        ApplicationContext context = new ClassPathXmlApplicationContext("chap1/knight.xml");

컨텍스트 초기화 부분을 위와 같이 수정해줬다.

아직 정확한 이유는 모르겠으나, 지금은 대충 BeanFactory 와 ApplicationContext 의 차이점을 고려했을 때,
컨텍스트 초기화 시점에 모든 싱글톤 빈을 모두 로드해주기 때문일 것으로 예상된다...

반응형
댓글
공지사항