목록[Web]/[Spring] (38)
요르딩딩
이번시간에는 요청파라미터의 @Valid를 활용한 유효성 체크와 @ExceptionHandler를 활용한 예외처리에 대해 공부해보겠습니다. 우선, @Valid를 사용하기 위해 pom.xml에 아래 라이브러리를 추가해줍니다. org.hibernate.validator hibernate-validator 6.0.10.Final javax.validation validation-api 2.0.1.Final 그리고, 유효성 체크를 진행할 DTO에 어노테이이션을 적용하여, 체크해줍니다. 다만, collection은 체크를 해주지 않으므로, 추가로 @Valid 어노테이션을 붙여주어야합니다. package com.**.controller.request; import com.fasterxml.jackson.databin..
이번시간에는 intercept를 활용한 Session체크 공통부분을 구현해 보았습니다. 인증 확인은 크게 Filter와 Interceptor를 활용하여, controller에 접근하기 전에 전처리할 수 있도록 공통화를 많이 한다고 합니다. 저희 회사는 세션관련 객체를 controller 또는 service단에서 처리를 하고 있었습니다. 그 이유는 회사 방침이 그렇게 적용되고 있었기 때문입니다. 그런데 이렇게 하니 모든 API를 만들때마다 꽤나 긴 공통코드를 여러번 반복해야하고, Controller 또는 Service단까지 들어와야 인증체크를 할 수 있기에 그다지 좋은 방식은 아니라고 생각합니다. 그리하여, filter와 interceptor에서 공통으로 전처리를 하면 좋을거 같다는 생각을 했습니다. 처음..
[필터 로직] package com.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class sessionFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { Sys..
이번시간에는 spring에서 branch를 추가해 배포하는 과정을 알아보도록 하겠습니다. 저는 Eclipse, Sourcetree/Git(형상관리), Jenkins(배포)를 활용하였다는 점을 참고해 주세요. [구조] Eclipse(source) -> (SourceTree -> Git) -> Jenkins -> Server [순서] branch 생성 eclipse내에서 branch를 생성할 수도 있지만, sourcetree를 활용하여 branch를 생성하였습니다. 방법 : 상단 > "브랜치" 클릭 > (새 브런치)명 입렵 > "브런치 생성" 클릭 브랜치가 생성되었고, 변경값을 입력 후 푸시하게되면, 원격 레파지토리에 브랜치가 생성되는것을 알 수 있다. Jenkis Job 생성 새로운 brach 전용 job..
이번시간에는 spring에서 Junit을 활용하여 테스트하는 방법에 대해 알아보자. - 파일 위치 : src/test/java/testcase/TestCode.java [소스] package testcase; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.t..
기존에는 HttpServletRequest의 객체를 RequestUtil을 사용하여, getParameter()값을 모두 map으로 전환하여, 사용하였다. 이렇게 사용하게되면, request Parameter로 어떤 값을 받던지, 모두 컨트롤러로 들어오기때문에, 개발자 입장에서는 DTO를 생성할 필요없이 편리하게 개발할 수 있었다. ( RequestUtil.paramToHashMap(request); ) 다만, 원리상 DTO를 사용하게 되면, 보안적인 측면에서도 좋고, 요청 파라미터에 매핑 오류시, 컨트롤러에 들어오기전에 걸러낼 수 있기때문에 더 효율적이라고 한다. 그렇기에 이번시간에는 DTO를 적용한 테스트를 진행해보았습니다. 1. Dto 생성에 있어서 @Getter, @Setter는 자동생성해 주는 ..
https://sseozzzy.tistory.com/138 [MyBatis/JAVA/Spring/Maven] log4를 사용하여 SQL로그 출력하기 1. 의존성 추가(pom.xml) : 보통 기본설정으로 다들어가있음 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4 1.16 2. 데이터베이스 접속 설정 수정(root-context.xml or dataSource-context.xml) - com.mysql... sseozzzy.tistory.com