Spring/Spring 이야기

#Today #Error #삽질

seungdols 2017. 1. 25. 23:12

Error 정리 

앞으로는 매일 매일 삽질한 경험을 좀 블로그에 남겨두는 습관을 가져야겠다고 생각했다.

오늘의 에러

org.springframework.context.annotation.ConflictingBeanDefinitionException

이 오류가 남으로써 war 파일이 배포된 후 Tomcat이 Loading조차 되지 않는다.
그 이유는 바로, Bean Scan을 하고 Bean Definition을 정의한 xml을 parsing한다.
이때, Bean이 중복되어 충돌이 나서, Bean을 로드 시킬 수 없는 치명적인 에러가 바로 저 에러다.

이게 맞는 수순인지는 모르지만, 오늘 유추한 바로는 그렇다..

<bean id="seungdols" class="com.seungdols.tistory.model.Seungdol">
<bean id="seungdols" class="com.seungdols.tistory.model.SeungdolCompany">

위 처럼 작성을 했다고 치자, 그럼 당연히 spring framework에서는 bean id가 중복되니 구분하기가 어렵다.
xml 방식이 귀찮고, 처음에는 어려워 보이지만, @Controller, @Service, @Repository의 어노테이션을 난무하거나 다른 의존성을 잘못 추가하면, 꼬이게 된다.

교훈

전체적인 구조를 자신의 머릿속에 넣고 있는 것이 중요하다고 생각한다. 물론, 어디서 에러가 나는지? 왜 에러가 나는지 빨리 파악 할 수 있다면야 나이스한 상황인 것 같다.

참고


반응형