Spring Framework - 시작 전 마지막 셋팅(DB연결, pom.xml, web.xml)
시작 전 마지막 셋팅(DB연결, pom.xml, web.xml)
1. DB 설치(MySQL)
- 딱히 건들지말고 쭈욱 설치해줌.(Next만 열심히)
- root 계정에 대한 패스워드이며 까먹지않게 패스워드를 설정해줌.
- Finish 설치완료!
2. pom.xml, web.xml 설정
- 이 부분을 이렇게 변경해줌.
<properties>
<java-version>11</java-version>
<org.springframework-version>5.2.8.RELEASE</org.springframework-version>
<org.aspectj-version>1.9.6</org.aspectj-version>
<org.slf4j-version>1.7.25</org.slf4j-version>
</properties>
- MySQL 연결을 위한 JDBC도 pom에 적어줌. (dependencies 안에 적어야함. 위치 잘 보세요.)
<!--MySQL JDBC -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
<!-- Spring JDBC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- Mybatis Spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<!-- Mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<!-- Spring Test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
<scope>test</scope>
</dependency>
- junit도 4.7 에서 4.12로 업그레이드 해줌.
<!-- junit Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
DB 연결을 테스트 해보기 전에 dataabase 부터 생성해보자
- 윈도우 + S 를 누른다.
- MySQL 8.0 Command Line Client를 실행시켜줌.
- 설치할 때 설정한 비밀번호를 입력해줌.
- create database 데이터베이스이름; 하고 엔터를 쳐주면 데이터베이스가 생성됨.
- 다시 이클립스로 돌아감.(데이터베이스 이름을 기억해두자)
- 생각이 안난다면 show databases; 를 입력해줌.
- 이곳이 DB정보를 적는 곳임.
- 하단 Namespaces 탭에 aop, beans, context, jdbc, mybatis-spring 을 체크해줌.
- 무언가 잔뜩생겼다. 성공!!
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/데이터베이스 이름?useSSL=false&serverTimezone=UTC"></property>
<property name="username" value="root"></property>
<property name="password" value="비밀번호"></property>
</bean>
<!-- 여기는 일단 냅두자. -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
</bean>
- 아래처럼 복사해줌.
- 수정을 해줘야함. 내가 설정한 것에 맞춰서
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/ymtest?useSSL=false&serverTimezone=UTC"></property>
<property name="username" value="root"></property>
<property name="password" value="1234"></property>
</bean>
- password 와 아까 생성한 데이터베이스 명을 적어줬음.
- 우클릭 > New > Junit Test Case 클릭
- DB가 정말 잘 붙었는지 테스트하기위해 만드는 것임.
package com.ym.song;
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 TestDBConnect {
@Inject
private DataSource dataSource;
@Test
public void test() {
try
{
Connection con = dataSource.getConnection();
System.out.println("***** 연결정보 : " + con + " *****");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
- 파일 선택 후 우클릭 > Run As > Junit Test 클릭
- 콘솔에 에러없이 정상적으로 출력되면 성공
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee; https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Processes application requests -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- 한글설정 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 한글설정 -->
</web-app>
- web.xml에 그대로 복사해서 붙여넣어주면 끝!
댓글남기기