spring boot
-
HTTP 요청 매핑하기 - 요청 메소드백기선(인프런 강의)/스프링 웹 MVC 2020. 9. 25. 11:50
HTTP Method GET POST PUT PATCH DELETE GET 요청 클라이언트가 서버의 리소스를 쵸어할 때 사용 캐싱할 수 있다(조건적인 GET으로 바뀔 수 있다) 브라우저 기록에 남는다 북마크 할 수 있다 민감함 데이터를 보낼 때 사용하지 않는다(URL에 존재) imdempotent 먹등성 여러번 요청을 하더라도 결과가 달라지지 않는 성질 POST 요청 클라이언트가 서버의 리소스를 수정하거나 새로 만들 때 사용 서버에 보내는 데이터를 POST 요청 본문에 담는다 캐시할 수 없다 브라우저 기록에 남지 않는다 북마크 할 수 없다 데이터 길이 제한이 없다. URI를 보내는 데이터를 처리할 리소스를 지칭 PUT 요청 URL에 해당하는 데이터를 새로 만들거나 수정할 때 사용 POST와 다른점은 "U..
-
스프링 부트에서 JSP 사용하기백기선(인프런 강의)/스프링 웹 MVC 2020. 8. 31. 23:40
제약사항 1. JAR 프로젝트로 만들 수 없다. WAR 프로젝트로 만들어야 한다. 2. Java -JAR로 실행할 수 있지만 "실행가능한 JAR 파일"은 지원하지 않는다. 3. 원더토우(JBoss에서 만든 서블릿 컨테이너)는 JSP를 지원하지 않음 4. Whitelabel 에러 페이지를 error.jsp로 오버라이딩 할 수 없음 ServletInitializer 설명 WAR페이지로 스프링 부트로 만들게 되면 아래와 같은 코드가 생성이 된다. 스프링 부트로 만든 프로젝트는 독립적으로 실행가능한 파일로 만들 수 있다. 하지만 WAR파일로 만든다면 tomcat에 배포하여 실행시킬 수 있기 때문에 이와같은 역활을 하기위해서 커스텀된 SpringBootServletInitializer 를 추가를 하는것이다. pa..
-
스프링 부트의 스프링 MVC 설정백기선(인프런 강의)/스프링 웹 MVC 2020. 8. 31. 20:29
스프링 부트의 “주관”이 적용된 자동 설정이 동작한다. JSP 보다 Thymeleaf 선호 JSON 지원 정적 리소스 지원 (+ 웰컴 페이지, 파비콘 등 지원) 스프링 MVC 커스터마이징 application.properties 여기서 스프링의 MVC설정 등을 할 수 있다. 자동 완성이 되는 이유는 스프링 부트가 미리 설정할 수 있게 만들어 놨다. @Configuration + Implements WebMvcConfigurer: 스프링 부트의 스프링 MVC 자동설정 + 추가 설정 스프링 부트가 지원을 하며 가장 주로 사용한다. @Configuration + @EnableWebMvc + Imlements WebMvcConfigurer: 스프링 부트의 스프링 MVC 자동설정 사용하지 않음.
-
스프링 부트의 스프링 기본 세팅백기선(인프런 강의)/스프링 웹 MVC 2020. 8. 28. 23:14
1. 스프링 부트를 프로젝트를 만들기 전 아래와 같이 Thymeleaf와 Spring Web 의존성을 추가해 준다. 2. 아래의 구조에 맞게 코드를 만들어 준다. package kr.co.study; import java.time.LocalDateTime; public class Event { private String name; private int limitofEnrollment; private LocalDateTime startDateTime; private LocalDateTime endDateTime; public Event(String name, int limitofEnrollment, LocalDateTime startDateTime, LocalDateTime endDateTime) { su..
-
스프링 데이터 2부: 인메모리 데이터 베이스백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 7. 3. 09:02
지원하는 인-메모리 데이터 베이스 H2 (추천, 콘솔 때문에...) HSQL Derby Spring-JDBC가 클래스패스에 있으면 자동 설정이 필요한 빈을 설정 해줍니다. DataSource JdbcTemplate 인-메모리 데이터베이스 기본 연결 정보 확인하는 방법 URL: “testdb” username: “sa” password: “” H2 콘솔 사용하는 방법 spring-boot-devtools를 추가하거나... application.properties에 spring.h2.console.enabled=true 만 추가. /h2-console로 접속 (이 path도 바꿀 수 있음) 예제 프로젝트 생성 application.proeprties spring.h2.console.enabled=true 설..
-
CORS(Cross-Origin Resource Sharing)백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 6. 24. 08:58
CORS(Cross-Origin Resource Sharing) Same_Origin Policy와 다름 같은 Origin에만 요청을 보낼 수 있다. 동일 출처 정책(same-origin policy)은 어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 중요한 보안 방식 Cross-Origin Resource Sharing 서로 다른 Origin끼리 리소스를 공유할 수 있다. Origin이란? URI 스키마( http, https) hostname(whieship.me, localhost) 포트(8080, 18080)
-
HATEOAS(Hypermedia As The Engine Of Application State)백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 6. 22. 12:11
Hypermedia As The Engine Of Application State Rest API를 만들 때, 서버 현재 리소스와 연관된 링크 정보를 클라이언트에게 제공 클라이언트 연관된 링크 정보를 바탕으로 리소스에 접근한다. EntityModel에 추가해서 리턴하는 식으로 구현하고, 클라이언트도 그걸 사용하는 방식이 Hateoas이다. ObjectMapper 제공하는 리소스를 Json으로 변환할 때 사용하는 인터페이스 객체를 Json으로 변환하거나 Json을 객체로 변환할 때 사용 LinkDiscovers XPath를 확장해서 만든 HATEOAS용 클라이언트 API rest api로 다른쪽 서버 api를 요청해서 받을 때, hateoas를 지원한다면 메소드를 이용해서 self에 해당하는 링크 정보를 ..
-
정적 리소스 지원백기선(인프런 강의)/스프링 부트 개념과 활용 2020. 5. 5. 22:16
정적 리소스 서버에서 어떤 작업을 처리해서 요청이 들어왔을 때, 뷰를 만들어 내는 것이 아니라 웹 브라우저나 클라이언트에서 요청이 들어왔을 때 그것에 대한 리소스가 이미 만들어져있고, 만들어져 있는 리소스를 그냥 보내주면 되는 것 정적 리소스 맵핑은 “ /**” 로 구성되어있다. 기본 리소스 위치 classpath:/static classpath:/public classpath:/resources/ classpath:/META-INF/resources 예시 application.properties에서 mapping 변경 시 WebMvcConfigurer 사용 @Configuration public class WebConfig implements WebMvcConfigurer{ @Override publi..