본문 바로가기

IT/Spring9

메이븐 (Maven) 메이븐 (Maven) 1. Maven ? 메이븐은 자바 프로젝트의 빌드(build)를 자동화 해주는 빌드 툴이다. 자바 소스를 compile하고 package해서 deploy하는 일을 자동화 2. Maven 참조 설정파일 2-1. settings.xml settings.xml은 mavent tool 자체에 관련된 설정 위치는 MAVEN_HOME/conf/settings.xml 전체적인 구조 ↓ // 최상위 엘리먼트 ... ... ... ... ... repository 저장위치 설정 ${user.home}/.m2/repository 2-2. pom.xml 자바 프로젝트의 빌드 툴을 maven으로 설정해서 만들었다면 생성되는 파일. POM(Project Object Model)을 설정하는 부분, 프로젝트 .. 2019. 4. 30.
에러 처리 (ControllerAdvice) 에러 처리 (ControllerAdvice) 요청 처리 도중 에러 발생 시 일괄 에러처리 방법 ControllerAdvice 컨트롤러에서 클라이언트의 요청을 처리하다 에러 발생 시 에러처리를 일괄적으로 할 수 있다. 여러 컨트롤러에서 발생 하는 에러를 한곳에서 커스텀하게 처리할 수 있다. ex) jwt 토큰 만료 Exception 처리 먼저 처리할 Exception을 상속받아 구현한다. 해당 에러 발생시 보낼 HttpStatus를 정의할 수 있다. (@ResponseStatus를 사용해 HttpStatus 정의) @ResponseStatus(value = HttpStatus.UNAUTHORIZED, reason = "Token Expired") public class JwtExpiredException .. 2019. 4. 29.
인터셉터 (Interceptor) 인터셉터 (Interceptor) - 모든 요청 처리전에 검증해야할 로직이 있거나 선행 처리해야 할 것이 있다면 Filter or Interceptor를 사용해 먼저 처리후 해당 요청을 처리한다. - Filter와 Interceptor는 실행 시점이 다르다. - Filter는 Web Application에 등록되고 Interceptor는 Spring의 context에 등록되어 사용된다. - Filter는 DispatcherServlet 이전에 먼저 실행되고 Interceptor는 그 이후에 실행된다. - Spring의 어노테이션을 이용하여 에러처리를 할 때에는 Spring에서 사용하기 용이한 Interceptor에서 처리 - Interceptor를 생성하기 위해 Interceptor를 구현하는 클래스를 .. 2019. 4. 29.
Spring 요청 메소드 (Request Mapping) Request Mapping 1. 요청 메소드 HTTP Method GET, POST, PUT, PATCH, DELETE, ... GET 요청 클라이언트가 서버의 리소스를 요청할 때 사용한다. 캐싱 할 수 있다. (조건적인 GET으로 바뀔 수 있다.) 브라우저 기록에 남는다. 북마크 할 수 있다. 민감한 데이터를 보낼 때 사용하지 말 것. (URL에 다 보이기 때문) idempotent(같은 GET 요청은 항상 같은 값 리턴) POST 요청 클라이언트가 서버의 리소스를 수정하거나 새로 만들 때 사용한다. 서버에 보내는 데이터를 POST 요청 본문에 담는다. 캐시할 수 없다. 브라우저 기록에 남지 않는다. 북마크 할 수 없다. 데이터 길이 제한이 없다. PUT 요청 URI에 해당하는 데이터를 새로 만들거나.. 2019. 4. 13.