Notepad
[정리] 스프링 부트 실전 활용 마스터(4)
dev/Spring 2022. 6. 16. 02:14

스프링 부트 테스트 리액티브 단위 테스트 작성 스프링 부트의 내장 컨테이너 테스트 기능 단위 테스트와 통합 테스트의 중간에 위치하는 슬라이스 테스트 활용 테스트 도구를 활용한 블로킹 코드 검출 spring-boot-starter-test 스프링 부트에서는 테스트에 필요한 여러 도구를 쉽게 사용할 수 있도록 스타터를 제공. 테스트 라이브러리 JUnit 5 : Java 애플리케이션의 단위 테스트를 위한 사실상의 표준 Spring Test & Spring Boot Test : 스프링 부트 애플리케이션에 대한 유틸리티 및 통합 테스트 지원 AssertJ : 능수능란한 단언(Assertion) 라이브러리 Hamcrest : 매처 객체 라이브러리 Mockito : 자바 Mocking 프레임워크 JSONassert ..

[정리] 스프링 부트 실전 활용 마스터(3)
dev/Spring 2022. 5. 26. 13:31

스프링 부트 개발자 도구 코드를 수정할 때 애플리케이션을 자동으로 재시작하는 방법 브라우저 새로고침을 자동으로 실행하는 라이브 리로드 사용법 프로젝트 리액터 디버깅 도구 애플리케이션 시작 시간 단축 예전에는 코드 수정 시 애플리케이션에 반영하기 위해 애플리케이션을 계속 재시작을 해야 했기에 불편했음 스프링 부트가 나오기 전부터 스프링 프레임워크는 무거운 애플리케이션 서버 대신 서블릿 컨테이너를 선택해서 재시작 문제 해결을 시도함 위의 시도에도 충분하지 않음 스프링 부트가 나오면서 내장형 서블릿 컨테이너라는 혁신을 이뤄냄 기존의 WAR 파일을 만들어서 톰켓과 같은 서블릿 컨테이너에 애플리케이션을 배포하는 방식이 아닌 애플리케이션에 서블릿 컨테이너를 포함하는 방식 서블릿 컨테이너를 애플리케이션에 포함하며 생..

[정리] 스프링 부트 실전 활용 마스터(2)
dev/Spring 2022. 5. 19. 13:09

스프링 부트를 활용한 데이터 액세스 리액티브 데이터 스토어의 요건 이커머스 애플리케이션 도메인 객체 정의 객체를 저장하고 조회할 리포지토리 생성 상기 내용 서비스에 적용 리액티브 데이터 스토어 요건 리액티브 프로그래밍을 사용하려면 모든 과정이 리액티브여야 함 웹 컨트롤러, 서비스 계층도 리액티브 방식으로 동작하게 만들었는데 블로킹 방식으로 연결되는 DB를 호출하면 리액티브가 무너짐 블로킹 방식으로 DB 호출한 스레드는 응답을 받을 때까지 다른 작업을 하지 못한 채 기다려야함 블로킹 되는 스레드가 많아지면 스레드가 모두 고갈되어서 결국 전체 애플리케이션이 DB로부터 결과를 기다리면서 아무런 일도 할 수 없음 상태가 되어 망가짐 레거시 브롤킹 코드를 따로 감싸고 격리해서 문제를 해결할 수도 있지만 리액티브의..

[정리] 스프링 부트 실전 활용 마스터(1)
dev/Spring 2022. 5. 12. 12:17

스프링 부트 웹 애플리케이션 만들기 스프링 부트란 무엇인가? 스프링 포트폴리오를 미리 정의된 방식으로 신속하고 이식성이 있게 실제 서비스 환경에 사용할 수 있도록 조립해놓은 것 스프링 부트 특징 단독 실행 가능한 Spring 애플리케이션 생성 Tomcat과 Jetty, Undertow를 직접 내장하여 WAR 파일을 배포할 필요 없음 빌드 구성을 단순화하기 위해 독자적인 '스타터' 의존성을 제공 가능한 Spring 및 3rd party 라이브러리에 대해 자동으로 설정되어 있음(CoC 적용) 메트릭, 상태 확인 및 외부 구성과 같은 상용화에 필요한 기능을 제공 설정을 위한 XML 코드를 생성하거나 요구하지 않음 리액티브 프로그래밍 소개 데이터 스트림 및 변경 전파: 데이터가 변경될 때마다 이벤트를 발생시켜서..