context:property-placeholder
context:property-placeholder 는 우리 데이터베이스 설정 을 크게 편리 하 게 해 줍 니 다.
spring :? , location , src , java , , :
#jdbc
test.jdbc.driverClassName=com.mysql.jdbc.Driver
test.jdbc.url=jdbc:mysql://localhost:3306/test
test.jdbc.username=root
test.jdbc.password=root
이렇게 하면 spring 에 설 정 된 bean 의 속성 값 을 설정 할 수 있 습 니 다.예 를 들 어 spring 에 jdbc 데이터 원본 의 클래스 DriverManager DataSource 가 있 습 니 다.
설정 파일 에서 이렇게 bean 을 정의 합 니 다:
이렇게 수정 하 는 것 도 편리 하고 통 일 된 이 규범 이다.
그리고 주의해 야 할 것 은 다음 과 같은 문제 가 발생 하면:
A 모듈 과 B 모듈 은 각각 자신의 Spring XML 설정 을 가지 고 있 으 며,각각 자신의 프로필 을 가지 고 있다.
A 모듈 의 Spring 프로필 은 다음 과 같 습 니 다.
conf/conf_a.properties: modulea.jdbc.driverClassName=com.mysql.jdbc.Driver
modulea.jdbc.username=cartan
modulea.jdbc.password=superman
modulea.jdbc.url=jdbc:mysql://127.0.0.1:3306/modulea?useUnicode=true&characterEncoding=utf8
B 모듈 의 Spring 프로필 은 다음 과 같 습 니 다.
conf/conf_b.properties: moduleb.jdbc.driverClassName=com.mysql.jdbc.Driver
moduleb.jdbc.username=cartan
moduleb.jdbc.password=superman
moduleb.jdbc.url=jdbc:mysql://127.0.0.1:3306/modulea?useUnicode=true&characterEncoding=utf8
A 모듈 을 단독으로 실행 하거나 B 모듈 을 단독으로 실행 하 는 것 은 정상 이지 만 A 와 B 두 모듈 을 통합 하여 실행 하면 Spring 용기 가 작 동 하지 않 습 니 다.
Could not resolve placeholder 'moduleb.jdbc.driverClassName' in string value "${moduleb.jdbc.driverClassName}"
원인:Spring 용 기 는 반사 스 캔 의 발견 체 제 를 사용 하여 Spring 용기 에 org.spring framework.beans.factory.config.Property Placeholder Configure 가 있 는 Bean 을 감지 하면 나머지 Property Placeholder Configure 에 대한 스 캔 을 중단 합 니 다.
spring 용기 중 최대 하나만 정의 할 수 있 습 니 다.
context:property-place holder,그렇지 않 으 면 그런 오류 가 발생 합 니 다.어떻게 위의 문 제 를 해결 합 니까?
A 와 B 모듈 제거
그리고 xml 다시 쓰기:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Rails Turbolinks를 페이지 단위로 비활성화하는 방법원래 Turobolinks란? Turbolinks는 링크를 생성하는 요소인 a 요소의 클릭을 후크로 하고, 이동한 페이지를 Ajax에서 가져옵니다. 그 후, 취득 페이지의 데이터가 천이 전의 페이지와 동일한 것이 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.