토비의 스프링3 리팩토링하기 정리 - 제2장 테스트
토비의 스프링3 정리 - 제2장 테스트
책에는 1장에서 소개한 내용이 너무 많아서 xml로 di를 정리하는 부분은 2장으로 빼는게 좋을 것 같아서 여기에 쓴다.
순서는 아래와 같다.
1.드디어 Spring Library를 import한다. core와 spring-jdbc도 import 한다.
build.gradle
apply plugin: 'java'
apply plugin: 'idea'
sourceCompatibility = 1.8
version = '1.0'
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework:spring-context:4.2.1.RELEASE'
compile 'org.springframework:spring-jdbc:4.2.1.RELEASE'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
위 gradle build code에서 아래 'dependencies{}'를 살펴보면 compile이 두줄 들어가있다.
저 두줄을 Import하는게 핵심이다.
import하고 build하면 자동으로 library를 download하고 등록한다.
2.src/main/java/resources/applicationContext.xml 을 만든다.
용도는 userDao bean을 선언하는 것이다.
userDao는 Connection Object를 생성 하기 위해서 DataSource Class를 넣어서 생성해야 한다.
그럴려면 DataSource Bean하고 UserDao Bean을 선언 해주어야 한다.
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="userDao" class="com.UserDao">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost/krkdb"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</bean>
</beans>
3.GenericXmlApplicationContext 를 이용해 위에서 만든 applicationContext.xml로 ApplicationContext를 선언한다.
Main.java
package com;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
import java.sql.SQLException;
/**
* Created by me on 2015-09-20.
*/
public class Main {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
ApplicationContext context = new GenericXmlApplicationContext("applicationContext.xml");
UserDao dao = context.getBean("userDao", UserDao.class);
User user = dao.get("oceanfog");
System.out.println(user.getId());
}
}
일단 Spring Library를 import하고 Spring-jdbc에 있는 DataSource object를 Connection Make하는데 사용한다.
src/main/java/resources 폴더를 만든다.
이 폴더 안에 applicationContext.xml을 만든다.