Programing/egovFramework

전자정부프레임워크 나만의 웹 템플릿 프로젝트 생성하기(4-3) - context-datasource.xml

리커니 2017. 1. 25.
반응형

 

전자정부프레임워크 나만의 웹 템플릿 프로젝트 생성하기(4-3) - context-datasource.xml 

 

이번 포스팅은 DB connection 설정을 하는 context-datasource.xml 에 대해서 알아보겠습니다.

기본적으로 전자정부프레임워크에서는 mysql, oracle, hsqldb에 대한 접속 설정을 제공합니다.

 

 

처음 부분에는 spring-jdbc 네임 스페이스에서 제공하는 <jdbc:embedded-database>태그를 이용한 HSQL 세팅이 되어 있습니다.

여기에서 사용되는 id 값으로 bean이 등록되며 transaction과 ibatis, mybatis 설정에 dependency inject을 사용하여 활용합니다.

 

 

다음 부분에는 org.apache.commons.dbcp.BasicDataSource 클래스를 사용하여 다른 디비와도 연동을 할 수 있는 bean 등록 코드가 주석으로 처리 되어 있습니다.

 

주석만 제거하고 디비 접속정보만 입력해주시면 바로 사용이 가능합니다.

 

전자정부프레임워크에서는 mssql에 대한 디비 접속은 제공하지 않습니다.

mssql의 경우 sqljdbc4.jar 파일을 받아 라이브러리 등록 을 한 후 아래 코드를 활용합니다.

 

   

   <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="${driver}"/>
        <property name="url" value="${url}" />
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
    </bean>

 

그런데 여기에는 ${..} 이라는 기존 소스와는 다른 부분이 있습니다.

spring에서는 org.springframework.beans.factory.config.PropertyPlaceholderConfigurer 클래스를 활용해 외부 property 파일을 bean의 setter injection 에서 활용할 수 있습니다.

 

<bean id="egov.propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:/globals.properties</value>
            </list>
        </property>
    </bean>

 

 

위와 같이 properties 파일의 경로를 클래스의 locations 값으로 전달하는 빈을 등록한후 ${..} 와 같이 properties의 값을 사용할 수 있습니다.

 

- globals.properties source

 

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@ip값:port값/스키마값

username=id값
password="password값"

 

여기에서 password 값에 큰 따옴표를 하는 이유는 오라클 11부터 적용된 대소문자 구분에 따른 에러를 제거하기 위함이다.

반응형

댓글

💲 추천 글