1. 문제상황
데이터베이스의 설정을 완료하고 트랜젝션을 설정하기 위해서 1번과 같이 추가적인 스프링 설정파일을 만들어서 파라미터로 넣어준 것이다. 여기까지 설정은 아주 좋았다.
데이터베이스 설정도 정확하게 완료됬고, 마이바티스 설정도 정확하게 완료되었다
하지만 문제는 트랜젝션을 설정하는데서 완전빡돌게 만들어 버렸다.
아무리 잘 설정을 하고 수십번 고쳐보아도 절대로 적용되지 않았다.
[WEB.XML]
[추가적인 설정파일인 context-datasource.xml]
설정은 완벽했는데 왜 안되는것인가? 몇일을 삽질 또 삽질 무한 삽질을 진행했다.
그리고 결국에는 해결을 하는데.....
2. 해결방법
문제점은 바로 context-servlet.xml에서 만들어진 BEAN들은 하위 context에서 읽지 못한다는 것이다.
아래의 그림 처럼 자동으로 BEAN을 읽도록 설정을 하였더니 하위 컨텍스트에서 읽지 못하는 현상이 발생한 것이다.
해결하기 위해서 context-servlet.xml에서는 controller의 스캔하도록 하고
하위 컨텍스트에서 service와 repository 객체를 스캔하도록 하고 AOP를 설정하니 정상적으로 트랜젝션이 걸렸다.
'프로그래밍 > Spring' 카테고리의 다른 글
Spring Test @TestPropertySource Yml이 읽히지 않는다(?) (0) | 2024.04.09 |
---|---|
스프링에서 문자(String)로된 함수 혹은 표현식 실행하기 (0) | 2019.12.05 |
스프링 컨트롤러 아닌곳에서 Session 가져오기! (0) | 2018.10.15 |
[SPRING/환경구축] 스프링에서 LOGBACK을 설정하는 방법을 알아보자! (0) | 2018.07.21 |
[SPRING/스프링] 이클립스에서 Spring Boot (스프링부트) 프로젝트 만들기 (1) | 2016.07.09 |