WEB/Spring
Spring - Filter에서 @PostConstruct 처리시 2번 이상 동작하는 현상
Park.S.W
2020. 4. 14. 14:26
반응형
필터에서 DB에서 받아온 정보를 사용하고 싶은 경우가 발생하였다.
초기화 함수인 init에서 서비스단이나 DAO를 사용하면 아직 bean등록이 되지 않은 상태로 초기화함수를 사용할 수 없었고 @PostConstruct를 활용하여 데이터를 처리할 수 있었다.
어찌저찌 처리는 하였지만 sysout을 통해 찍어보니 로그가 3번씩 찍히는 현상을 발견하였다.
구조부터 spring문서나 2번이상 발생되는 자료를 찾아봤지만 딱히 찾을 수 없었는데, 원인은 소스의 설정방법에 문제가 있었다.
해당 필터를 빈등록을 하기 위해 @Component 어노테이션을 설정하였다.
여기서 문제는 web.xml에 필터태그로 필터를 추가 등록하면서 bean등록이 2번 되었기 때문이다.
문제가 된 소스부분
둘 중 한개의 설정을 제거하고 한번만 정상적으로 동작하는것을 확인 하였다.
반응형