실행 결과는 Connection 객체가 만들어지는 것을 확인할 수 있어야 함.

package 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/**/*.xml"})
public class DataSourceTest {
	

	@Inject
	private DataSource ds;
	
	@Test
	public void testConnection() throws Exception{
		
		try (Connection con = ds.getConnection()){
			System.out.println(con);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
}


반응형


        pom.xml에서 자바 버전 수정.

<properties> <java-version>1.8</java-version> <org.springframework-version>4.1.7.RELEASE</org.springframework-version> <org.aspectj-version>1.6.10</org.aspectj-version> <org.slf4j-version>1.6.6</org.slf4j-version>

</properties>


        properties 에서 project facets에서 버전 수정.






        pom.xml의 추가 라이브러리

<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.35</version> </dependency>

<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency>

<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency>

<dependency> <groupId>org.bgee.log4jdbc-log4j2</groupId> <artifactId>log4jdbc-log4j2-jdbc4</artifactId> <version>1.16</version> </dependency> <!-- Servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency>

<!-- Test --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>


        src/main/resources 폴더 안에 

        log4jdbc.log4j2.properties 파일과 logback.xml, mybatis-config.xml 파일을 추가한다.


log4jdbc.log4j2.properties 안에 소스코드

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator



logback.xml 안에 소스코드

<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/base.xml"/> <!-- log4jdbc-log4j2 --> <logger name="jdbc.sqlonly" level="DEBUG"/> <logger name="jdbc.sqltiming" level="INFO"/> <logger name="jdbc.audit" level="WARN"/> <logger name="jdbc.resultset" level="ERROR"/> <logger name="jdbc.resultsettable" level="ERROR"/> <logger name="jdbc.connection" level="INFO"/> </configuration>

mybatis-config.xml 안에 소스코드

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
  
  <configuration>
  
  </configuration>

root-context.xml


1. 네임스페이스 추가.

beans, context, mybatis-spring 총 3가지 체크 확인.


2. SessionFactory, SqlSessionTemplate 추가.

<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/web"></property>
		<property name="username" value="bill"></property>
		<property name="password" value="bill"></property>
	</bean>
	
	
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="configLocation" value="classpath:/mybatis-config.xml" />
		<property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml" />
	</bean>
	
	<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
		<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
	</bean> 
	
	<context:component-scan base-package="com.web.service"></context:component-scan>	
	<context:component-scan base-package="com.web.dao"></context:component-scan>
</beans>

service 와 dao에 component-scan 확인할 것!


컨트롤러는  servlet-context.xml에 추가할것

<context:component-scan base-package="com.web.controller" />


반응형

'JSP & Spring' 카테고리의 다른 글

스프링 외부 경로 폴더 지정하기  (0) 2016.09.12
@ModelAttribute, @RequestParam  (0) 2016.09.08
utf-8 인코딩.  (0) 2016.09.01
파일 업로드와 UUID  (0) 2016.07.30
페이징 처리하기 Pagination  (0) 2016.05.09

web.xml에 추가.


<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>

</filter>

<filter-mapping>

       <filter-name>encodingFilter</filter-name>

       <url-pattern>/*</url-pattern>

</filter-mapping>




jsp에서 한글 인코딩


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>



반응형

'JSP & Spring' 카테고리의 다른 글

@ModelAttribute, @RequestParam  (0) 2016.09.08
스프링 초기환경세팅  (0) 2016.09.04
파일 업로드와 UUID  (0) 2016.07.30
페이징 처리하기 Pagination  (0) 2016.05.09
redirect 문법  (0) 2016.03.31

+ Recent posts