본문 바로가기
JAVA/spring

Spring Connection(DataSource)

by 개폰지밥 2019. 6. 11.
반응형

코드로 배우는 스프링 웹 프로젝트 책 보면서 해봄!!!

 

Part 2 기본적인 기능의 게시물 관리

Part 2는 실제로 아주 단순한 crud(등록, 수정, 삭제, 조회) 게시물 관리를 제작합니다.

 

Part 2에서 만들어지는 게시물 관리는 다음과 같은 기능을 가지고 있습니다.

-       게시물의 등록, 수정, 삭제, 조회

-       페이지 처리

-       검색 처리

 

01 등록, 수정, 삭제, 조회 기능의 구현

모든 게시물 관리의 시작 형태는 등록(create), 조회(read), 수정(update), 삭제(delete)를 기준으로 합니다.(이하 crud라는 약어를 사용합니다.) 여기에 반드시 하나가 더 추가되는 것이 화면상에 데이터의 목록을 보여주는 리스트 기능이라고 할 수 있습니다.

 

1.1  개발 목표 인식

일반적인 경우, 개발 순서는 뒤에서 앞으로의 순서가 많습니다. , 1) 가장 먼저 데이터베이스 관련 부분을 개발하고, 2) 컨트롤러와 비즈니스 영역을 개발한 후 3)마지막으로 화면 쪽을 개발하게 됩니다.

 

1.2  각 영역에 따른 개발의 준비

1.3     프로젝트의 생성

프로젝트는 ‘ex01’이라는 이름으로 sts 상의 ‘spring project’를 이용합니다. 본격적인 개발에 앞서 필요한 라이브러리 등은 아래와 같습니다.

-       Mysql 드라이버

-       Spring-test 모듈

-       Mybatis 모듈

-       Mybatis-spring 모듈

 

프로젝트의 패키지는 ‘org.zerock.controller’라는 패키지로 설정해서 작성합니다.

File -> new -> spring legacy project

작성된 프로젝트의 모습은 아래와 같다.

Ex01 프로젝트의 pom.xml을 사용해서 jdk의 버전과 스프링의 버전을 수정하기

<properties>

               <java-version>1.8</java-version>

               <org.springframework-version>4.3.8.RELEASE</org.springframework-version>

               <org.aspectj-version>1.6.10</org.aspectj-version>

               <org.slf4j-version>1.6.6</org.slf4j-version>

        </properties>

 

프로젝트의 속성 역시 jdk 1.8에 맞도록 변경합니다.

프로젝트에 필요한 라이브러리를 pom.xml을 이용해서 추가

추가된 라이브러리는 mysql, 드라이버, mybatis, mybatis-spring, log4jdbc-log4j2 관련 설정입니다.

<dependency>

               <groupId>org.springframework</groupId>

               <artifactId>spring-test</artifactId>

               <version>${org.springframework-version}</version>

               </dependency>

              

               <dependency>

               <groupId>org.springframework</groupId>

               <artifactId>spring-jdbc</artifactId>

               <version>${org.springframework-version}</version>

               </dependency>

              

              

               <dependency>

               <groupId>mysql</groupId>

               <artifactId>mysql-connector-java</artifactId>

               <version>5.1.41</version>

               </dependency>

              

              

               <dependency>

               <groupId>org.mybatis</groupId>

               <artifactId>mybatis</artifactId>

               <version>3.4.1</version>

               </dependency>

              

              

               <dependency>

               <groupId>org.mybatis</groupId>

               <artifactId>mybatis-spring</artifactId>

               <version>1.3.0</version>

               </dependency>

              

               <dependency>

               <groupId>org.bgee.log4jdbc-log4j2</groupId>

               <artifactId>log4jdbc-log4j2-jdbc4</artifactId>

               <version>1.16</version>

               </dependency>

 

테스트 올바르게 진행하기 위해서 junit의 버전과 servlet의 버전 변경

ð  빨간부분 작성

마지막으로 설정과 관련된 파일들을 추가합니다. 파일들의 +위치는 ‘src/main/resources’ 폴더를 이용합니다. Log4jdbc.log4j2.properties 파일과 logback.xml, mybatis-config.xml 파일을 복사해서 추가합니다.

Ctrl + shift + r 을 이용해 검색하면 파일을 쉽게 찾을 수 있음.

 

1.4  개발 전 준비 데이터베이스 관련

1.4.1       DataSource의 등록

Datasourcemybatis를 사용하기 위해서 반드시 root-context.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 https://www.springframework.org/schema/beans/spring-beans.xsd">

 

        <!-- Root Context: defines shared resources visible to all other web components -->

 

        <bean id="dataSource"

               class="org.springframework.jdbc.datasource.DriverManagerDataSource">

                <property name="driverClassName"

                       value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>

               <property name="url"

                       value="jdbc:log4jdbc:mysql://127.0.0.1:3306/book_ex?useSSL=false"></property>

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

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

        </bean>

</beans>

 

 

1.4.2       datasource의 테스트

datasource의 테스트는 반드시 필요하다!!!

Test 폴더 내의 DataSourceTest

package org.zerock.test;

 

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/**/root-context.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();

               }

        }

 

}

<결과>

실행 결과는 정상적으로 Connection 객체가 만들어지는 것을 확인할 수 있어야 합니다.

코드로 배우는 스프링 웹 프로젝트 책 보면서 해봄!!!

반응형

'JAVA > spring' 카테고리의 다른 글

spring homapage  (0) 2019.06.14
Spring CreateTest  (0) 2019.06.13
Spring+mybatis  (0) 2019.06.05
spring + mybatis + mysql - 2  (0) 2019.06.04
spring + MyBatis + MySQL - 1  (0) 2019.06.03

댓글