Java2EE Framework/Spring 2.0

스프링2.0 - DataSource 사용하기

본클라쓰 2010. 6. 6. 13:55

 

 필요한 라이브러리 commons-dbcp.jar , commons-io.jar, commons-pool.jar 라이브러리가 필요하다. 또한, 해당 데이터베이스와 자바를 연결하기 위한 connection 라이브러리가 필요하다. 해당 라이브러리를 /WEB-INF/lib 디렉토리에 복사한다.

 

 

스프링 설정파일이 DataSource 객체를 등록

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>WEB-INF/config/jdbc.properties</value>
        </list>
    </property>

</bean>

 

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

바로 드라이버 정보를 등록해서 사용할 수도 있지만 properties 파일에 정보를 등록하고 사용하는 방법 사용함

 

WEB-INF/config/jdbc.properties

# Properties file with JDBC-related settings.
# Applied by PropertyPlaceholderConfigurer from "dataAccessContext-local.xml".
# Targeted at system administrators, to avoid touching the context XML files.

 

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/project?useUnicode=true&characterEncoding=euckr
jdbc.username=user
jdbc.password=wjqrms498

 


실제 DataSource를 사용하는 클래스

package net.guru.web.main;

 

import javax.sql.DataSource;


public class MainMysqlDao implements MainDao {

 

    private DataSource dataSource;
 
    public void setDataSource( DataSource dataSource ) {
        this.dataSource = dataSource;
    }
 
    public void test() {


       Connection conn = null;
  
        try {
   
            conn = dataSource.getConnection();


            if ( conn == null ) {

                System.out.println( "Connection doesn't create Object!" );

            } else {  

                System.out.println( conn.toString() );
            }
   
        } catch( Exception e ) {
            e.printStackTrace();
        }
   

    }

}



스프링 설정에 객체 등록하기

<bean id="mainMysqlDao" class="net.guru.web.main.MainMysqlDao">

    <property name="dataSource">

        <ref bean="dataSource" />

    </property>

</bean>