2017-10-31 8 views
0

모든 속성을로드하는 컨텍스트 리스너가있다. 이러한 속성은 내 스프링 web.xml을 설정하기 위해 노력하고있어,하지만 인출하고 XML 여기Spring-web.xml에 속성 값을 설정할 수 없다.

에 속성을 설정할 수 없습니다 내 스프링의 web.xml이기 때문에 그것은 예외를

를 던졌습니다 로딩 속성의

<bean id="dataSource" 
    class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 

    <property name="driverClassName" value="com.ibm.as400.access.AS400JDBCDriver" /> 
    <property name="url" value="jdbc:as400://localhost/BB" /> 
    <property name="username" value="{as400.username}" /> 
    <property name="password" value="{as400.password}" /> 
</bean> 

내 클래스는

public class LoadProperties implements ServletContextListener { 

private static Properties properties = null; 
private static Logger logger = Logger.getLogger(LoadProperties .class); 

@Override 
public void contextDestroyed(ServletContextEvent arg0) { } 

@Override 
public void contextInitialized(ServletContextEvent arg0) { 
    properties = BBUtil.getProperties("datasource-cfg.properties"); 
    for (String prop : properties.stringPropertyNames()) { 
     logger.info("Property Loaded :"+properties.getProperty(prop)); 
     if (System.getProperty(prop) == null) {    
      System.setProperty(prop, properties.getProperty(prop)); 
     } 
    } 
} 

} 

이 클래스는 실행 및 시스템에서 속성을 설정지고 있습니다.

이 내 속성 내 스프링 web.xml을

에 값을 설정 할 수있는 어떤 아이디어가 크게 감상 할 수 방법

as400.username=ROOT 
as400.password=ROOT 

파일입니다.

답변

0

우리는 속성 파일도 예 : http 접두사를 사용하여로드 할 수 context:property-placeholder

<context:property-placeholder location="classpath:db.properties" /> 

<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="dbHost" value="${db.url}"/>  
     <property name="dbPort" value="${db.number}"/> 
     <property name="dbService" value="${db.name}"/> 
     <property name="dbUrl" value="${db.user}"/> 
     <property name="dbPassword" value="${db.password}"/> 
    </bean> 

사용하여로드 : 파일 :

이 자리는 $ 기호로 사용되어야한다

을 다음과 같이
<property name="username" value="${as400.username}" /> 
<property name="password" value="${as400.password}" /> 

ExtendedIllegalArgumentException은 전달 된 인수가 유효하지 않음을 나타냅니다.

+0

나는 어리석은 실수를 저질 렀습니다. 감사합니다 Amdg :) 작품 – Yakhoob