[SpringIDE] 다중 컨텍스트 XML 관리시 다른 파일의 참조 문제점

 

SpringIDE를 설치한 상태에서 프로젝트를 진행 하다 보면 별 문제도 없는데 자꾸 경고가 뜨곤 한다. 그당시에는 무시를 하였지만 나의 결벽증 개발자 무의식이 나타나 이것을 잡기로 하였다.

그 경우는 바로 다음과 같은 경우이다.

datasource-context.xml

<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  <property name="configLocation" value="WEB-INF/sql-map-config.xml"/>
  <property name="dataSource" ref="dataSource"/>
</bean>

dao-context.xml

<bean id="userWidgetDao" class="com.twinkr.widget.dao.UserWidgetDataDaoImpl" >
  <property name="sqlMapClient" ref="sqlMapClient" />
</bean>

이경우 dao-context.xml의 두번째 줄에는 다음과 같은 경고가 발생한다.

“Referenced bean ‘sqlMapClient’ not found”

하지만 실행해보면 전혀 문제없음을 알 수 있다. 어차피 xml들은 모두 통합 관리되는건데 어쩌란 말인가?
SpringIDE만 꺼보면 바로 에러가 사라진다. SpringIDE가 문제라고 치부한다는것인데…

Project → Properties → Spring → Bean Support → Config Sets

에 들어가서 묶을 필요가 있는 xml파일들을 한데 묶어 Config Set으로 지정해 주자. 묶인 파일들 사이에는 어떠한 공유도 가능하다는 암묵적인 약속이 체결된다. 물론 SpringIDE맘데로; 그리고 서로 마음껏 끌어다 써도 에러는 발생하지 않는다.