[SPRING] 구성 파일에서 동적으로 값을 전달하는 방법
SPRING구성 파일에서 동적으로 값을 전달하는 방법
DB에서 동적으로 속성 값 태그의 값을 전달하고 싶습니다. Spring에서도 가능합니까? 그리고 어떻게 ?
아래 구성 예를 들어.
<bean id="proxyFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="WSDLURL"/>
<property name="address" value="WSDLURL"/>
<property name="username" value="username"/>
<property name="password" value="password"/>
</bean>
id가 "proxyFactory"인 bean에 대해 위에서 언급 한 속성, 즉
해결법
-
==============================
1.다른 Java 클래스를 작성하여 Application 컨텍스트에서 bean으로 만들 수 있으며 Spring Expression Language를 사용하여 메소드 호출을 평가하고 출력을 얻을 수있다.
다른 Java 클래스를 작성하여 Application 컨텍스트에서 bean으로 만들 수 있으며 Spring Expression Language를 사용하여 메소드 호출을 평가하고 출력을 얻을 수있다.
XML 구성 :
<property name="serviceClass" value="#{webServiceInfoFromDB.wsdlUrl}" /> <property name="username" value="#{webServiceInfoFromDB.username}" />
WeServiceInfoFromDB.java 클래스 :
class WebServiceInfoFromDB { public String getWsdlUrl() { // Get the Wsdl URL from DB. return wsdlUrl; } public String getUsername(){ // get the username from DB return username; }
응용 프로그램 컨텍스트의 XML 구성 :
<bean id="webServiceInfoFromDB" class="WebServiceInfoFromDB"> <property name="dataSource" ref="dataSource"/> </bean>
-
==============================
2.키 - 값 쌍이 포함 된 속성 파일 이름으로 속성 Place Holder를 설정할 수 있습니다.
키 - 값 쌍이 포함 된 속성 파일 이름으로 속성 Place Holder를 설정할 수 있습니다.
config.properties 파일은 다음과 같습니다.
wsdl.url = http://server:8080/ServiceAccessPoint webservice.username = guest webservice.passward = guest123
이제 $ {key}로 빈 정의를 수정할 수있다.
<bean id="proxyFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean"> <property name="serviceClass" value="${wsdl.url}"/> <property name="address" value="${wsdl.url}"/> <property name="username" value="${webservice.username}"/> <property name="password" value="${webservice.password}"/>
from https://stackoverflow.com/questions/17186789/how-to-pass-values-dynamically-in-config-file by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] ExtJS 6 + 스프링 부트 스택 (0) | 2019.02.22 |
---|---|
[SPRING] SpringMVC ajax 요청 - java.io.EOFException : 입력 끝으로 인해 Object에 매핑 할 내용이 없습니다. (0) | 2019.02.22 |
[SPRING] 카메라를 통해 사진 찍고 bytearray의 서버로 전송 (0) | 2019.02.22 |
[SPRING] Oracle을 사용하여 Hibernate에서 마지막으로 삽입 된 행의 ID를 검색 할 수 없습니다. (0) | 2019.02.22 |
[SPRING] Stepwise Spock - 단일 실패 후 계속 testsuite 실행 (0) | 2019.02.22 |