반응형
필터에서 DB에서 받아온 정보를 사용하고 싶은 경우가 발생하였다.
초기화 함수인 init에서 서비스단이나 DAO를 사용하면 아직 bean등록이 되지 않은 상태로 초기화함수를 사용할 수 없었고 @PostConstruct를 활용하여 데이터를 처리할 수 있었다.
어찌저찌 처리는 하였지만 sysout을 통해 찍어보니 로그가 3번씩 찍히는 현상을 발견하였다.
구조부터 spring문서나 2번이상 발생되는 자료를 찾아봤지만 딱히 찾을 수 없었는데, 원인은 소스의 설정방법에 문제가 있었다.
해당 필터를 빈등록을 하기 위해 @Component 어노테이션을 설정하였다.
여기서 문제는 web.xml에 필터태그로 필터를 추가 등록하면서 bean등록이 2번 되었기 때문이다.
문제가 된 소스부분
둘 중 한개의 설정을 제거하고 한번만 정상적으로 동작하는것을 확인 하였다.
반응형
'WEB > Spring' 카테고리의 다른 글
Spring - multipart전송인 경우 AOP에서 파라미터 가져오기 (0) | 2020.04.27 |
---|---|
Spring - java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList (0) | 2020.04.23 |
Spring - HttpSessionListener 로그인 세션 관리(중복 로그인 방지하기) (6) | 2020.04.13 |
Spring - lombok @AllArgsConstrutor 인식 에러, 동작 안함 (0) | 2020.04.08 |
Spring WebFlux - 몽고 DB 연동하기 (0) | 2020.04.06 |