전자정부프레임워크 나만의 웹 템플릿 프로젝트 생성하기(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부터 적용된 대소문자 구분에 따른 에러를 제거하기 위함이다.
'Programing > egovFramework' 카테고리의 다른 글
전자정부프레임워크 iBatis, MyBatis 설정 방식 차이, 비교 (1) | 2017.08.29 |
---|---|
전자정부프레임워크 나만의 웹 템플릿 프로젝트 생성하기(4-4) - context-transaction.xml (0) | 2017.02.15 |
전자정부프레임워크 나만의 웹 템플릿 프로젝트 생성하기(4-2) - context-common.xml (2) | 2017.01.25 |
전자정부프레임워크 나만의 웹 템플릿 프로젝트 생성하기(4-1) - context-aspect.xml (0) | 2017.01.24 |
Spring bean에 등록된 class에서 classNotFoundException 발생시 해결방법 (0) | 2017.01.23 |
댓글