Spring DataSource 변경

아주 많은 경우는 아니지만 사용자 정보 혹은 조직 정보를 저장하는 데이터베이스의 계정 및 IP 정보를 변경하는 경우가 있습니다.
스프링에서는 프로세스가 구동될 때 Bean을 생성해서 관리하기 때문에 변경하기가 쉽지 않습니다. 그냥 간단하게 사용자가 입력한 데이터베이스 접속 정보로 변경하는 부분을 보겠습니다.

스프링 설정 파일
dataSource.xml

<bean id="dataSource" 

        class="org.apache.commons.dbcp.BasicDataSource" 

Picasa Content
destroy-method="close">

    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>

    <property name="url" value="jdbc:mysql://localhost:3306/Coopzl"/>

    <property name="username" value="coozplz"/>

    <property name="password" value="*****"/>

</bean>

해당 dataSource 를 DAO 클래스에 설정합니다.

<bean id="coozplzService" class="com.blogspot.CoozplzService">

    <property name="dataSource" ref="dataSource" />   

</bean>

파라 미터로 정보를 받습니다.

localhost_20110921_003543

Parameter 를 받는다.

String driverClass = request.getParameter("driverClass");

String url = request.getParameter("url");

String userName = request.getParameter("userName");

String userPass = request.getParameter("userPass");

String userQuery = request.getParameter("userQuery");

String deptQuery = request.getParameter("deptQuery");

CoozplzService 에 DataSource를 설정한다.

BasicDataSource dataSource = new BasicDataSource();

dataSource.setUrl(config.getUrl());                    // URL

dataSource.setUsername(config.getUserName());          // 이름

dataSource.setPassword(config.getUserPass());          // 비번

dataSource.setDriverClassName(config.getDriverClass());// 클래스

coozplzService.setDataSource(dataSource);              // 설정

이상 끝…^^

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s