본문 바로가기

spring boot20

[스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 출간 후기 (출판사: 프리렉, 쪽수: 416, 정가: 22,000원) 서적 링크 오프라인 서점에는 2019.12.04 (수) 부터 올라갈 예정입니다. 강남 교보문고나 광화문 교보문고는 주말에도 올라올 순 있겠지만, 혹시 모르니 꼭 재고 확인을 하고 방문 부탁드립니다. 현재 (2019.11.30) 온라인 예약 주문은 가능합니다. 교보문고 YES24 인터파크 쿠팡 오타나 실습 오류가 있으실 경우 이슈에 등록해주시거나 검색을 부탁드립니다. 소개 저의 첫 저서인 스프링 부트와 AWS로 혼자 구현하는 웹 서비스가 출간되었습니다. 스프링 부트 책으로는 드물게 스프링부트 파트와 AWS를 이용한 운영파트가 5:5로 구성된 책입니다. 즉, 스프링 부트만 사용하는 개발자가 아닌 스프링 부트를 사용하는 서버 개발자가 되고 싶은 분들에.. 2019. 11. 30.
스프링부트로 쇼핑몰 만들기 - 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.
Spring Boot Data Jpa 프로젝트에 Querydsl 적용하기 안녕하세요? 이번 시간에는 Spring Boot Data Jpa 프로젝트에 Querydsl을 적용하는 방법을 소개 드리겠습니다. 모든 코드는 Github에 있습니다. Spring Data Jpa를 써보신 분들은 아시겠지만, 기본으로 제공해주는 @Query로는 다양한 조회 기능을 사용하기에 한계가 있습니다. 그래서 이 문제를 해결하기 위해 정적 타입을 지원하는 조회 프레임워크를 사용하는데요. Querydsl은 Jooq와 함게 가장 유명한 조회 프레임워크입니다. 이번 포스팅에서는 Spring Boot Data Jpa에서 Querydsl을 어떻게 설정하는지를 이야기합니다. Querydsl의 장점 혹은 왜 써야하는지 등의 내용은 담지 않습니다. 이건 나중에 한번 각잡고 작성해서 공유드리겠습니다 :) 개발환경은 .. 2018. 12. 31.
SpringBoot에서 날짜 타입 JSON 변환에 대한 오해 풀기 안녕하세요? 이번 시간엔 Spring과 JSON에 대해 정리해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 0. 들어가며 Spring을 사용할 경우 Controller에서 요청 받는/응답 주는 DTO에서 LocalDate와 LocalDateTime을 사용할 경우가 종종 있습니다. 헌데 이럴 경우 많은 분들이 직렬화를 못해 String으로 받은 후 서비스 레이어에서 변환하는 것을 보았습니다. Spring에선 굳이 이럴 필요가 없으니 아래 내용을 한번 참고하셔서 번거로운 직렬화 과정을 쉽게 해결하시길 바랍니다. 개발 환경은 .. 2018. 12. 17.
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.
SpringBoot에서 Spock Mock 사용법과 문제점 문제점 Spring Boot의 @MockBean, @SpyBean은 Junit & Mockito를 지원합니다. 그러다보니 Spock을 쓴다 해도 Spring의 Bean을 Mocking하려면 Mockito 방식을 사용해야 합니다. example) @SpringBootTest class CustomerServiceSpockMockTest extends Specification { @Autowired CustomerService customerService @MockBean(name = "jdbcTemplate") JdbcTemplate jdbcTemplate def "Customer_id로_이름을_조회"() { given: given(jdbcTemplate.query(anyString(), any(BeanP.. 2018. 9. 28.