본문 바로가기

Spring/Spring Legacy7

Spring Legacy / SQL 로그 설정하기 MyBatis는 내부적으로 JDBC의 PreparedStatement를 이용해서 SQL을 처리한다. 따라서 SQL에 전달되는 파라미터는 JDBC에서와 같이 ?로 치환되어 처리되는데, 이때 만약 복잡한 SQL의 경우 ?로 나오는 값이 제대로 되었는지 확인하기가 쉽지 않아 실행된 SQL의 내용을 정확히 확인하기 어렵다. 이러한 문제를 해결하기 위해서 SQL을 변환해서 PreparedStatement에 사용된 ?가 어떤 값으로 처리되었는지 로그를 통해 확인해보자. SQL 로그를 보기 위해선 log4jdbc-log4j2 라이브러리를 사용해야한다. SQL 로그를 확인하기 위해서는 어떠한 준비가 필요할까? 절차는 다음과 같다. log4jdbc-log4j2 라이브러리 추가 로그설정파일 추가 JDBC연결 1. log4.. 2020. 9. 23.
Spring Legacy / MyBatis 연동 및 사용하기 Spring에서 SQL 맵핑 프레임워크인 MyBatis를 사용하려면 어떻게 해야할까? 순서는 다음과 같다. MyBatis 관련 라이브러리 추가 SqlSessionFactory 등록 Mapper 스캔 설정 Mapper 작성 (사용예제) 1. MyBatis 관련 라이브러리 추가 MyBatis를 연동하기 위해 필요한 라이브러리는 총 4개가 있다. - mybatis / mybatis-spring : MyBatis와 스프링 연동용 라이브러리 //mybatis org.mybatis mybatis 3.4.6 //mybatis-spring org.mybatis mybatis-spring 1.3.2 - spring-jdbc / spring-tx : 스프링에서 DB처리와 트랜잭션 처리(해당 라이브러리들은 MyBatis와 .. 2020. 9. 23.
Spring Legacy / DBCP 설정하기 웹 애플리케이션의 경우 일반적으로 여러 명의 사용자를 동시에 처리해야하기 때문에 DB연결 시 커넥션풀을 이용한다. 커넥션 풀은 스프링에 등록해서 사용하는 것이 좋으며, JAVA단에서는 DataSource라는 인터페이스를 통해 커넥션 풀을 사용한다. DataSource는 매번 데이터베이스와 연결하는 방식이 아닌 미리 연결을 맺어주고 반환하는 구조이기 때문에 성능 향상에 도움이 된다. 이제 본론으로 들어가자. 커넥션 풀은 매우 많은 종류가 있는데, 이번 포스터에서는 최근 유행하고 있는 HikariCP를 사용해 보겠다. 1. 커넥션 풀 라이브러리 추가 com.zaxxer HikariCP 2.7.8 HikariCP 버전은 2.7.4~2.7.8을 권장한다. 2. DataSource 설정 @Configuration.. 2020. 9. 15.
Spring Legacy / JDBC 연결 테스트하기 프로젝트에 있어서 단위테스트는 항상 중요하다. 이번 포스트에서는 JDBC를 셋팅하고 연결이 가능한지 확인해보는 테스트를 진행한다. 코드 예시는 다음과 같다. package org.zerock.persistence; import static org.junit.Assert.fail; import java.sql.Connection; import java.sql.DriverManager; import org.junit.Test; import lombok.extern.log4j.Log4j; @Log4j public class JDBCTests { static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (Exception e) { e.pr.. 2020. 7. 30.
Spring Legacy / 단위 테스트하는 방법 개발자들은 프로젝트에서 수많은 테스트를 거쳐 서비스를 릴리즈하게된다. 그만큼 테스트는 프로젝트 진행에 있어서 중요한 요소이며, 이러한 테스트를 수행하는 방법을 알아야 질 높은 프로젝트를 완성할 수 있다. 그럼 테스트 코드는 어떻게 짜여질까? 아래 예제를 통해 살펴보자. 다음 코드는 'src/test/java' 폴더에 작성된 단위 테스트 목적의 자바파일이다. 보통 테스트 자바파일은 'src/test/java' 디렉토리에 셋팅되며 아래와 같은 코드구성으로 테스트가 이루어진다. package org.zerock.sample; import static org.junit.Assert.assertNotNull; import org.junit.Test; import org.junit.runner.RunWith; im.. 2020. 7. 29.
Spring Legacy / DI설계 방법 글을 읽기에 앞서 DI의 개념이 아직 잘 잡히지 않았다면 아래 링크 참조. https://swdevelopment.tistory.com/272 Spring / IoC와 DI *loC란? IoC는 Inversion of Control의 약자로 프레임워크의 핵심 요소이며 스프링에도 예외없이 존재하는 개념이다. IoC는 해석하면 제어의 역전 또는 제어의 반전이며 이것은 메소드나 객체의 호출작�� swdevelopment.tistory.com !이 글은 Lombok과 spring-test 라이브러리를 활용하여 DI를 테스트한다. DI를 하기전 먼저해야할 것이있다. 바로 DI 설정이다. 스프링은 클래스에서 객체를 생성하고 객체들의 의존성에 대한 처리 작업까지 내부에서 모든 것이 처리된다. 스프링에서 관리되는 객체.. 2020. 7. 24.
Spring Legacy / 자바파일로 스프링 관련 설정하기 STS툴에서 레거시 프로젝트의 경우 XML기반으로 스프링관련 설정을 하도록 구성되어있으며, 스프링 3버전 이후부터는 XML뿐만이 아닌 자바클래스 파일을 이용하는 스프링 설정을 지원한다. 자바로 스프링 설정을한다라.. 어떻게 할 수 있을까. 지금부터 알아보자. 자바로 스프링을 설정하는 과정은 크게 다음과 같다. web.xml 파일 삭제 및 스프링 관련 파일 삭제 pom.xml 수정 및 스프링 버전 변경 Java 설정 관련 패키지 생성 1. 자바로 설정하기 위해 우선 기본적으로 레거시 프로젝트가 가지고 있는 설정관련 XML파일을 삭제 삭제해야할 XML파일은 web.xml, servlet-context.xml, root-context.xml 이다. servlet-context.xml과 root-context... 2020. 7. 23.