목차 1. 자바 예외 2. 자바 예외 활용 3. 예외 포함과 스택 트레이스 4. 예외 추상화 5. JDBC 반복 문제 해결 - JdbcTemplate 6. 서블릿 예외처리 7. 스프링 부트 오류 페이지 8. API 예외처리 목표 자바의 체크 예외와 언체크(런타임) 예외의 활용법을 이해하고 스프링에서 제공하는 예외 추상화를 통해 특정 기술에 의존하지 않고 순수한 서비스 계층을 유지하는 방법에 대해 알아본다. 서블릿의 예외처리 과정을 이해하고 스프링에서 예외를 공통으로 처리하는 방법에 대해 알아본다. 1. 자바 예외 1) 예외 계층 (1) Throwable 최상위 예외이다. 하위에 Exception 과 Error 가 있다. (2) Error 메모리 부족이나 심각한 시스템 오류와 같이 애플리케이션에서 복구 불..
목차 1. 트랜잭션 2. DB 락 3. 애플리케이션 트랜잭션 적용 4. 스프링 트랜잭션 목표 데이터베이스의 트랜잭션에 대해 알아보고 스프링이 트랜잭션을 지원하기 위해 제공하는 트랜잭션 매니저와 트랜잭션 동기화 매니저에 대해 알아본다. 1. 트랜잭션 데이터를 단순히 파일에 저장하는 것이 아닌 데이터베이스에 저장하는 이유는 데이터베이스가 트랜잭션이라는 개념을 지원하기 때문이다. 트랜잭션 ACID 트랜잭션은 다음의 ACID를 보장해야 한다. 원자성(Atomicity): 트랜잭션 내에서 실행한 작업들은 마치 하나의 작업인 것처럼 모두 성공 하거나 모두 실패해야 한다. 일관성(Consistency): 모든 트랜잭션은 일관성 있는 데이터베이스 상태를 유지해야 한다. 예를 들어 데이터베이스에서 정한 무결성 제약 조건..
목차 1. 빈 생명주기 콜백 2. 빈 생명주기 콜백 사용 방법 3. 빈 스코프 4. 웹 스코프 1. 빈 생명주기 콜백 데이터베이스 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화와 종료 작업이 필요하다. 예제로 이 NetworkClient 는 애플리케이션 시작 시점에 connect() 를 호출해서 연결을 맺어두어야 하고, 애플리케이션이 종료되면 disConnect() 를 호출해서 연결을 끊어야 한다. public class NetworkClient { private String url; public NetworkClient() { System.out.println("생성자 호출, url..
목차 1. 컴포넌트 스캔과 의존관계 주입 2. 컴포넌트 스캔 3. 의존관계 자동 주입 1. 컴포넌트 스캔과 의존관계 주입 [Spring] 1. 스프링 컨테이너 예제에서는 AppConfig와 같이 설정 정보 클래스에서 빈과 의존관계를 설정해 주었다. 하지만 프로젝트 규모가 커지고 등록해야 할 스프링 빈이 많아지면서 수동으로 관리하기가 점점 복잡해진다. 그래서 스프링은 별도의 설정 정보 없이 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한다. @Configuration @ComponentScan public class AutoAppConfig { } @Component public class OrderServiceImpl implements OrderService { private final..
- Total
- Today
- Yesterday
- H2
- Spring
- 계층형 아키텍처
- 스프링 예외 추상화
- kafka
- HTTP 헤더
- Git
- 육각형 아키텍처
- Stream
- clean code
- Spring Boot
- Spring Data JPA
- http
- ATDD
- spring rest docs
- MySQL
- 클린코드
- TDD
- java8
- 스프링 카프카 컨슈머
- 학습 테스트
- 도메인 모델링
- 마이크로서비스 패턴
- JPA
- mockito
- Ubiquitous Language
- 폴링 발행기 패턴
- 이벤트 스토밍
- named query
- 트랜잭셔널 아웃박스 패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |