2018. 1. 15. 01:33ㆍBACK/spring
스프링을 이용한 개발 중
국내에서 가장 많이 쓰이는 형태는 mybatis와의 연동작업을 통해서
SQL 처리에 대한 개발 생산성을 높이는 형태로 사용되는 것입니다.
첫 번째로 DataSource에 담아 mysql에 연결하고 jUnit을 통해 확인을 거친 후
mybatis와 spring을 연동하고 다시 jUnit을 통해 연동 테스트를 진행하겠습니다.!
1. 가장 먼저 pom.xml 에 해당 dependendy 를 추가합니다.
라이브러리가 다운 되었는지 확인해봅니다!
( spring-jdbc , spring-test, mybatis, mybatis-spring 총 4개)
org.springframework spring-jdbc ${org.springframework-version} org.springframework spring-test ${org.springframework-version} test org.mybatis mybatis 3.4.1 org.mybatis mybatis-spring 1.3.0
2. 프로젝트 내에 src/main/webapp/WEB-INF/spring/root-context.xml 파일 수정
이곳은 STS(Spring Tool Suite)가 스프링 프로젝트를 생성할 때 만들어주는 파일 중 가장 중요한 파일로
스프링과 관련된 설정을 할 때, 즉 웹 자원과 관련되지 않은 모든 자원의 설정을 할 수 있습니다.
( 웹과 관련된 설정은 appServlet 폴더 내의 servlet-context.xml 파일로 분리되어있습니다. )
2-1) rott-context.xml 의 네임스페이스 추가 ( 초기화면입니다 )
여기서 aop, context, jdbc, mybatis-spring 옵션을 체크합니다.
바로 왼쪽으 탭인 Source 탭을 눌러 소스를 확인해보면 기존에 없던 xmls 주소들이 추가되어있음을 확인할 수 있습니다.
3. Mysql 과의 연결을 담당하는 DataSource 설정하기
스프링과 mybatis를 같이 사용하는 경우에는 주로 스프링의 설정으로 JDBC 연결을 처리하는 경우가 많기에
추가했던 spring-jdbc 모듈의 클래스를 이용해서 root-context.xml 에 DataSource를 추가합니다.
이제 설정한 값을 통해 테스트를 진행할텐데
스프링은 별도의 test 라이브러리를 활용해 개발자가 손쉽게 테스트 할 수 있도록 제공합니다.
4. src/test/java 폴더 내에 DataSourceTest.java 파일을 작성합니다.
가장 위에 있는 @RunWith, @ContextConfiguration 애노테이션은 현재 테스트 코드를 실행할 때
스프링이 로딩되도록 하는 부분입니다. @ContextConfiguration의 locations 경로에 xml 파일을 이용하여 로딩됩니다!
인스턴스 변수의 @Inject 어노테이션은 bean 객체화 되어있는 DataSource를 스프링이 생성해서 주입해줍니다.!
import java.sql.Connection; import javax.inject.Inject; import javax.sql.DataSource; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration( locations ={"file:src/main/webapp/WEB-INF/spring/**/*.xml"}) public class DataSourceTest { @Inject private DataSource ds; @Test public void testConection()throws Exception{ try(Connection con = ds.getConnection()){ System.out.println(con); }catch(Exception e){ e.printStackTrace(); } } }
코드 작성이 완료되면
이런식으로 db에 접근하여 정보를 출력하고 closing 된걸 확인할 수 있습니다 !
여기까지 spring 과 mysql 이 DataSource 를 통해 연결된 것을 확인하였고
다음 게시글에서는 Mybatis와의 연결을 다루겠습니다 !
'BACK > spring' 카테고리의 다른 글
spring : servlet-context.xml 을 파악해보자! (0) | 2018.01.15 |
---|---|
spring : spring model2 방식이란? (스프링 mvc) (0) | 2018.01.15 |
spring : spring mybatis 연동 (2) - jUnit으로 mybatis 연결 테스트 (0) | 2018.01.15 |
spring : spring에서 POST, GET 한글처리 [url에서 한글 받아오기] (0) | 2018.01.15 |
spring : mysql 연결 및 jUnit Test (spring mysql 연동) (0) | 2018.01.14 |