본문 바로가기

Spring49

스프링부트로 쇼핑몰 만들기 - 3주차 지난주에 이어 Web 진행 JPA 3-1. exam 프로젝트 까보기 저장소 위치 spring-boot-autoconfigure 밑에 있는 spring.factories가 중요함 자동 설정에 관련된 키/값들이 존재함 @RestController @Controller, @ResponseBody로 이루어진 어노테이션 Spring 4.0 부터 지원 Form으로 전송되는 데이터를 받는 방법 @RequestParam @ModelAttribute 전송될 필드가 많으면 `@ModelAttribute로 객체로 받을수 있게 한다. 만약 JSON이 온다면 @RequestBody로 처리한다 문자열을 JSON으로 변환해주는 놈? MessageConverter HttpMessageConvertersAutoConfiguration.. 2019. 1. 21.
스프링부트로 쇼핑몰 만들기 - 2주차 HTTP 프로토콜 구조 스프링에 대한 웹 프로그래밍 기본 학습 웹 어플리리케이션 구조 2-1. HTTP 요청과 WAS 브라우저에서 요청 정보가 오면 WAS가 이 요청정보를 모아 HttpServletRequest를 만든다. WAS는 이 요청 정보에서 Context Path를 추출해서 특정 웹 어플리케이션을 찾는다 웹 어플리케이션 안에는 다양한 Resource (정적) 와 Servlet 등이 존재 Context Path뒤에 있는 Path를 통해 어떤 Resource 혹은 Servlet이 필요한지를 찾는다 즉, Path를 통해 찾으려면 Resource 혹은 Servlet들은 고유의 Path를 가져야 한다. WAS에는 Default Servlet이 정적 Resource 서빙을 담당 Servlet (서블릿) Ht.. 2019. 1. 15.
스프링부트로 쇼핑몰 만들기 - 1주차 1. 1주차 1주차는 Spring에서 필요한 Java 개념 위주와 Spring 의 기본적인 개념에 관해 진행 상속, 인터페이스, 리플렉션 Spring의 Bean 컨테이너 Spring Boot의 설정 1-1. Intro java Exam03으로 실행하면 class path에서 파일 찾는다 클래스 정보를 읽은 뒤, 메모리에 올라감 클래스 정보를 메모리에 올리는건 시스템 클래스로더가 담당 한번 올라간 정보는 JVM 다시 시작하기 전까지 계속 유지 static 정보는 별도의 메모리에 올림 즉, 이 클래스를 사용해야겠다고 읽어들일때 static 정보가 올라감 static 블럭은 딱 한번만 실행 메소드에 static이 붙은 친구들은 인스턴스 없이도 실행가능 자식 인스턴스 생성시 부모 인스턴스도 생성된다. 자동차라는.. 2019. 1. 6.
SpringBoot에서 날짜 타입 JSON 변환에 대한 오해 풀기 안녕하세요? 이번 시간엔 Spring과 JSON에 대해 정리해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 0. 들어가며 Spring을 사용할 경우 Controller에서 요청 받는/응답 주는 DTO에서 LocalDate와 LocalDateTime을 사용할 경우가 종종 있습니다. 헌데 이럴 경우 많은 분들이 직렬화를 못해 String으로 받은 후 서비스 레이어에서 변환하는 것을 보았습니다. Spring에선 굳이 이럴 필요가 없으니 아래 내용을 한번 참고하셔서 번거로운 직렬화 과정을 쉽게 해결하시길 바랍니다. 개발 환경은 .. 2018. 12. 17.
로컬 Spring Boot에 SSL 적용하기 Facebook OAuth를 개발해야 하는 경우 등 로컬 환경에서 HTTPS 서버가 필요할때가 종종 있습니다. (페이스북 OAuth 설정 화면) 운영 혹은 개발 환경에서는 Nginx 혹은 AWS ELB와 같은 곳에서 SSL 인증서를 설치하기 때문에 순수하게 로컬 환경에서만 SSL 인증서를 사용할 수 있는 방법이 필요합니다. 이번 시간에는 Spring Boot 로컬 환경에서 SSL 인증서를 개발 & 적용 하는 방법을 소개 드리겠습니다. 먼저 프로젝트 디렉토리 안에서 다음과 같은 명령어를 실행합니다. keytool -genkey -alias bns-ssl -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 -ali.. 2018. 10. 29.
Spring Boot에서 외부 API 테스트하기 안녕하세요? 이번 시간엔 Spring Boot의 @RestClientTest 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. 1. 문제 상황 예를 들어 외부 API를 통해 데이터를 가져와야 하는 경우가 있다고 가정해보겠습니다. 예제로 사용할 Service 코드는 다음과 같습니다. @Slf4j @Service public class UserService { private final RestTemplate restTemplate; @Value("${order.api.url}") private String orderApiUrl; public UserService(RestTemplateBuilder restTemplateBuilder) { thi.. 2018. 9. 29.