전체 글
-
[스프링부트 개념과 활용] ExceptionHandlerSPRING/스프링부트 개념과 활용 2021. 1. 3. 16:14
기본 제공 Error Handler -> 스프링 부트에서 Error가 발생할 시에는 기본적으로 아래와 같은 화면을 브라우저에서 보여준다. Exception을 이용한 예외 처리 방법 Exception 클래스 -> RuntimeException을 상속받음 error 정보를 담고 있는 커스텀 클래스를 만들어줍니다. @ExceptionHandler를 사용하여 SampleException이 발생할 때 아래와 같은 메시지와 이유를 세팅하고 리턴하도록 합니다. 결과 : 위의 스크린샷 로직의 경우에는 SampleController 내에서만 Exception처리가 가능하지만, 전역적으로 Exception 처리를 하고 싶다면 별도로 클래스를 만들고 그 클래스에 @ControllerAdvice를 붙여서 사용하면 된다. Cu..
-
[스프링부트 개념과 활용] 템플릿 엔진 - ThymeleafSPRING/스프링부트 개념과 활용 2021. 1. 1. 19:34
템플릿 엔진 동적인 컨텐츠를 생성하는데 쓰이는 방법. 일반적으로 View를 만드는데 쓰이지만, 그외에 Code generation, Email 등을 사용하는데 사용한다. 기본적인 템플릿은 동일하지만 들어가는 값들이 다른 Email 등의 실무에서 많이 쓰인다. 스프링 부트가 지원하는 템플릿 엔진은 크게 4가지임. - Thymeleaf - Groovy - FreeMarker - Mustache * 스프링 부트에서는 템플릿 엔진을 사용할 때 JSP를 권장하지 않음. (패키징 문제, 의존성 문제 등) Thymeleaf를 사용하기 위해서는 pom.xml에 아래와 같은 의존성을 추가해야 한다. org.springframework.boot spring-boot-starter-thymeleaf -> 브라우저에 전달할 ..
-
[스프링부트 개념과 활용] index 페이지SPRING/스프링부트 개념과 활용 2021. 1. 1. 14:57
Index 페이지 Index 페이지는 애플리케이션을 root로 요청했을 때의 페이지. 정적으로 페이지로 생성하는 방법 ---------------------------------------------------------------------------------------------- classpath:/static classpath:/public classpath:/resources/ classpath:/META-INF/resources 위의 위치에 index.html을 생성하고, root로 페이지를 요청한다.
-
[스프링 부트 개념과 활용] 정적 리소스 지원SPRING/스프링부트 개념과 활용 2020. 12. 31. 17:34
정적 리소스 지원 정적 리소스는 서버에서 작업을 처리하여 뷰를 만들어 내는 것이 아닌, 클라이언트에서 요청이 들어왔을 때 이미 만들어져 있는 리소스를 그대로 보내주는 것을 말한다. 정적 리소스 아래와 같은 위치에 매핑되어있음. 정적 리소스 맵핑 "/**" 기본 리소스 위치 classpath:/static classpath:/public classpath:/resources/ classpath:/META-INF/resources spring.mvc.staitc-path-pattern : 맵핑 설정 변경 가능 spring.mvc.static-locations : 리소스 찾을 위치 변경 가능 위 스크린샷 (application.properties) 같이 URL 매핑 설정을 할 수 있다. 기존에 제공하는 res..
-
[스프링 부트 개념과 활용] ViewResolverSPRING/스프링부트 개념과 활용 2020. 12. 29. 00:50
com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.9.6 - ViewResolver는 뷰 이름으로부터 사용할 뷰 오브젝트를 매핑하는 역할을 함. ContentNegotiatingViewResolver - viewResolver 중 하나로, 들어오는 HttpMessage의 Accept-header에 따라 응답이 달라진다. 즉, Client에서 요청한 Accept header를 통해 그 요청에 응답을 할 수 있는 view를 찾아내어 응답한다. 예시) 이전 게시물과 동일한 내용의 Test 메서드이지만 아래 빨간 부분만 바꾸었다. (accept header를 XML로 주었음.) - accept header - XML : Client는 XML형식으로 응답을 요..
-
[스프링부트 개념과 활용] HttpMessageConvertersSPRING/스프링부트 개념과 활용 2020. 12. 27. 22:46
HttpMessageConverters Client로 부터 온 요청 본문에 담긴 데이터를 Controller에서 사용하기 위해 변환하거나, 서버에서 생성한 응답결과를 Client에 내려주기 위한 응답 본문에 작성할 때 사용됨. 즉, @RequestBody / @ResponseBody 를 사용할 대에 HttpMessageConverter가 사용된다. -> 위와 같이 RestController에서는 ResponseBody 생략이 가능하다. 위 스크린 샷 방식으로 작성을 하면 HttpMessageConverters가 사용된다. 어떤 요청을 받았는지 또는 어떤 응답을 리턴해야 되는지에 따라서 사용되는 HttpMessageConverters가 다르다. HttpMessage 본문의 contentType이 JSON이..
-
[스프링 개념과 활용] Spring-Boot-Devtools 의 활용SPRING/스프링부트 개념과 활용 2020. 12. 27. 16:53
스프링 부트가 제공하는 Optional 기능이다. 선택적으로 사용하는 기능이기 때문에 아래와 같이 pom.xml에 의존성 추가를 해주어야 한다. org.springframework.boot spring-boot-devtools Spring boot DevToosl가 제공하는 기능은 아래와 같이 크게 5가지 이다. - Property Defults - Automatic Restart - Live Reload - Global Settings - Remote Applications 그 중 자주 사용하는 3가지 기능은 아래와 같다. 1. Property Defaults - Spring에서 제공하는 tymeleaf는 기본적으로 캐싱 기능을 사용함. 하지만 개발 과정중에 캐싱이 되어있다면, 파일을 수정하여도 매번 ..