개키우는개발자 : )

Spring Framework JDBC 환경설정 본문

JAVA/Spring Framework

Spring Framework JDBC 환경설정

DOGvelopers 2019. 2. 7. 22:56
반응형

Spring Framework JDBC 환경설정



학습 목표


  • DB설정 및 JDBC Driver 설치
  • Spring JDBC 설치 및 DataSource 설정
  • 사용자관리 프로젝트 테스트

프로젝트 목록프로젝트 목록



1.DB설정 및 JDBC Driver 설치


1-1 MySQL 다운 및 설치


https://dog-developers.tistory.com/20 제 블로그 주소 타고 가면 설치방법이 나올거에요 





1-2 MySQL JDBC Driver 라이브러리 검색 및 설치


https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.12


저는 8.0.12 버전이라 같은 버전으로 설치했습니다.~ 


1
2
3
4
5
6
7
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.12</version>
</dependency>
 
cs



1-3 Spring JDBC 설치



https://mvnrepository.com/artifact/org.springframework/spring-jdbc/3.2.3.RELEASE 마찬가지로


SpringFramwork 와 같은 버전으로 설치합니다.


1
2
3
4
5
6
7
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>3.2.3.RELEASE</version>
</dependency>
 
cs




2.Spring JDBC 설치 및 DataSource 설정


2-1 DataSource 설정


- DataSource를 Spring Bean으로 등록하여 사용할 수 있다.


New -> file 을 생성 해줍니다.


New -> fileNew -> file 선택


config 폴더 하위에 datasource.properties 파일을 생성해줍니다.


config 폴더 하위에 datasource.properties 파일을 생성datasource.properties 파일을 생성


생성된 properties 파일에 


1
2
3
4
5
db.driverClass=com.mysql.cj.jdbc.Driver
//DATABASE_NAME = 본인이 설정한 DB이름 (저는 spring 이라고 database를 만들었습니다.
db.url=jdbc:mysql://localhost:3306/DATABASE_NAME?useSSL=false&serverTimezone=Asia/Seoul
db.username=root
db.password=1111
cs


New -> spring -> Spring Bean Configuration File -> data.xml 생성 


Namespace 는 aop , beans , context , jdbc 를 선택해줍니다.


aop,beans,context,jdbc 선택aop,beans,context,jdbc 선택


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">
    
    <context:property-placeholder location="classpath:config/datasource.properties"/>
    
    <!-- DataSource 설정 -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
        <property name="driverClass" value="${db.driverClass}" />
        <property name="url" value="${db.url}"/>
        <property name="username" value="${db.username}" />
        <property name="password" value="${db.password}" />
    </bean>
    
    <context:component-scan base-package="myspring.user" />
</beans>
 

cs




3.사용자관리 프로젝트 테스트



3-1 사용자관리 프로젝트의 Bean 등록 및 의존관계 설정


<context:component-scan> 태그 사용


- @Service, @Repository 어노테이션을 선언한 클래스들과 @Autowired 어노테이션을 선언하여 의존관계를 설정한 클래스들이 위치한 패키지를 Scan하기 위한 설정을 XML에 해주어야 한다.


myspring.user 하위 패키지는 모두 스캔할수있도록 경로설정

<context:component-scan base-package="myspring.user" />



3-2 DataSource 설정 테스트


src/test/java 하위 -> New -> package -> myspring.user.test 생성


myspring.user.test 하위 -> New -> class -> UserClient 생성


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package myspring.user.test;
 
import static org.junit.Assert.*;
 
import java.sql.SQLException;
import java.util.List;
 
import javax.sql.DataSource;
 
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.aop.ThrowsAdvice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:config/data.xml"})
public class UserClient {
 
    @Autowired
    private ApplicationContext context;
 
    @Test
    public void dataSourceTest() {
        DataSource ds = (DataSource) context.getBean("dataSource");
        try {
            System.out.println(ds.getConnection());
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
cs


실행 결과


테스트 성공테스트 성공


1
com.mysql.cj.jdbc.ConnectionImpl@54dcfa5a
cs


연결 완료~


완성된 프로젝트 코드를 다운받으실수 있습니다.

https://dog-developers.tistory.com/30

반응형

'JAVA > Spring Framework' 카테고리의 다른 글

AOP애플리케이션 작성(1)  (0) 2019.02.08
AOP 개요  (0) 2019.02.08
Spring Framework JDBC 개요  (0) 2019.02.07
사용자관리 프로젝트  (0) 2019.02.07
DI 애플리케이션 작성(4)  (0) 2019.02.07
Comments