두 인터페이스 모두 공통 인터페이스를 구현하는 응용 프로그램에서 작업하고 있습니다. 그래서 bean 선언시, app-context.xml 파일에서 그 중 하나를 기본으로 표시하려고합니다. 이제스프링 컨텍스트 : 부울 값의 속성 자리 표시 자
<bean id="oracleImpl" class="com.me.dao.OracleImpl" primary="true">
</bean>
내가 오히려 기본 빈을 할 참/거짓 값을 읽고 싶은 것입니다 콩의 하드 코드 싶지 않은 : 나는 단순히이 같은 기본 빈을 선언하여이 작업을 수행 할 수 있습니다 특성 파일에서. 그래서 같이 간 :
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="oracleImpl" class="com.me.dao.OracleImpl" primary="${oracle.primary}">
</bean>
<bean id="pgsqlImpl" class="com.me.dao.PgsqlImpl" primary="${pgsql.primary}">
</bean>
oracle.primary 및 pgsql.primary의 값은 다른 JDBC (비 부울) 특성과 함께 파일 jdbc.properties에 정의되어 있습니다.
그러나이 일을하고 말한다하지 않습니다,
나는 XSD 유효성 검사기 함께 할 수있는 뭔가 느낌이 " '$ {oracle.primary은}' '부울'에 대한 유효한 값이 아닙니다." 이 사이트와 구글을 통해 브라우징이 나에게 많은 생각을 주었지만 실제 해결책은 없었습니다. 어떤 몸도 도와 줄 수 있습니까?
'com.me.dao.OracleImpl'의 ** 기본 ** 입력란 설정자는 어떻게 생겼습니까? – jasonoriordan
primary는 'com.me.dao.OracleImpl'의 필드가 아닙니다. 그것은 @ 스프링 어노테이션 @primary와 동일합니다. 동일한 클래스의 빈이 여러 개인 경우 자동 배선의 기본 후보로 선언하는 데 사용됩니다. –