본문 바로가기

SpringBoot4

설정파일 YAML 설정파일 (YAML) YAML 계층구조 표현 계층 성격을 가지는 변수를 설정 할 때 properties보다 가독성이 높다 YAML ghsong: name: first:gunho last:song phone: - 01012341234 - 0311231234Properties ghsong.name.first:gunho ghsong.name.last:song ghsong.phone[0]:0101234123 ghsong.phone[1]:0311231234 Key, Value Map Mapping properties보다 Map 구조를 더 명시적이며 간단하게 Binding 가능! seat: tpye: 001:A 002:B 004:C문서 구조화 문서를 나누는 기능(---) spring: profiles: local .. 2019. 4. 30.
메이븐 (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.