JAVA/Spring(113)
-
[SpringBoot][WebMVC] 웰컴페이지와 파비콘
1. 웰컴 페이지란 무엇인가? 애플리케이션의 루트 주소(/)를 요청했을때 보여주는 페이지 애플리케이션에 index.html 파일이 있으면 제공 애플리케이션에 index.템플릿이 있으면 제공 index.html, index.템플릿 둘다 없으면 에러 페이지를 보여줌 2. 실습, index.html (웰컴 페이지) 생성 1. resources/static/index.html 페이지 생성하고 작성 Welcome Page 2. 애플리케이션을 실행하여 “http://localhost:8080/” 요청하여 결과 확인 3. 파비콘(favicon) 파비콘은 웹 사이트 또는 웹 페이지를 대표하기 위해 웹 브라우저에 사용되는 16x16 픽셀 작은 이미지입니다. 4. 실습, 파비콘 생성 및 변경 1. https://favic..
2022.11.10 -
[SpringBoot][WebMVC] 웹 JAR
1. 웹 JAR란 무엇인가? Web JAR는 클라이언트에서 사용하는 웹 라이브러리(jquery와 bootstrap)을 JAR 파일 안에 패키징한것이다. 2. 실습, Jquery 웹 라이브러리를 의존성 추가 1. jquery 의존성 추가 implementation 'org.webjars.bower:jquery:3.6.1' 2. html 파일에 jquery 소스 주소를 정의하고 jquery 쿼리 함수 호출 hello world modified 3. 실습, WebJars Locator Core 의존성 추가 jquery같은 웹 라이브러리의 버전을 생략하기 위해서는 WebJars Locator Core 의존성 라이브러리를 추가해야 합니다. 1. WebJars Locator Core 의존성 추가 implementa..
2022.11.10 -
[SpringBoot][WebMVC] 정적 리소스 지원
1. 정적 리소스 맵핑 “/**” 기본 리소스 위치 classpath:/static classpath:/public classpath:/resources/ classpath:/META-INF/resources 예) “/hello.html” ⇒ /static/hello.html spring.mvc.static-path-pattern: 맵핑 설정 변경 가능 spring.mvc.static-locations: 리소스 찾을 위치 변경 가능 (비권장) Last-Modified 헤더를 보고 304 응답을 보냄 정적 리소스가 수정되면 200 응답을 보냄 정적 리소스가 수정되지 않은 상태에서 다시 자원을 요청시 304 응답을 보냄 304 응답을 보내면서 정적 리소스를 다시 보내지는 않음(빨리짐을 의미함) Resourc..
2022.11.09 -
[SpringBoot][WebMVC] HttpMessageConverters
HttpMessageConverters란 무엇인가? HTTP 요청 본문을 객체로 변경하거나, 객체를 HTTP 응답 본문으로 변경할 때 사용하는 컨버터 {”username” : “yonghwan”, “password” : “123”} ↔ User @RequestBody HTTP 요청 본문을 객체로 변환 @ResponseBody 객체를 HTTP 요청 본문으로 변환 컨트롤러에 @RestController가 붙어있으면 리턴 타입에 @ResponseBody를 생략할 수 있음 // before @PostMapping("/users/create") public @ResponseBody User create(@RequestBody User user){ return user; } // after @PostMapping(..
2022.11.08 -
[SpringBoot] 스프링부트 통합테스트, 단위테스트
통합테스트 @SpringBootTest 단위테스트 @JsonTest @WebMvcTest @WebFluxTest @DataJpaTest @RestClientTest 1. 통합 테스트 개요 실제 운영 환경에서 사용될 클래스들을 통합하여 테스트 단위 테스트와 같이 기능 검증을 위한 것이 아닌 스프링 프레임워크에서 전체적으로 플로우가 제대로 동작하는지 검증하기 위해 사용됨 장점 애플리케이션의 설정과 모든 빈(Bean)을 모두 로드하기 때문에 운영환경과 가장 유사항 테스트가 가능함 전체적인 플로우를 쉽게 테스트가 가능함 단점 애플리케이션의 설정과 모든 빈(Bean)을 모두 불러오기 때문에 시간이 오래걸리고 무겁다 테스트 단위가 크기 때문에 디버깅이 어려운 편 @SpringBootTest 스프링부트는 @Sprin..
2022.11.07 -
[SpringBoot] OutputCaputre 테스트 유틸리티
OutputCapture 테스트 유틸리티 OutputCaputre 테스트 유틸리티는 스프링부트가 제공하는 유틸리티로써 로그 및 콘솔에 출력되는 문자열을 캡처하는 유틸리티입니다. OutputCapture 예제 1. 컨트롤러 및 서비스 정의 @RestController public class SampleController { Logger logger = LoggerFactory.getLogger(SampleController.class); @Autowired private SampleService sampleService; @GetMapping("/hello") public String hello(){ logger.info("kim yonghwan"); return "hello " + sampleServic..
2022.11.06