목차 1. 빈 생명주기 콜백 2. 빈 생명주기 콜백 사용 방법 3. 빈 스코프 4. 웹 스코프 1. 빈 생명주기 콜백 데이터베이스 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화와 종료 작업이 필요하다. 예제로 이 NetworkClient 는 애플리케이션 시작 시점에 connect() 를 호출해서 연결을 맺어두어야 하고, 애플리케이션이 종료되면 disConnect() 를 호출해서 연결을 끊어야 한다. public class NetworkClient { private String url; public NetworkClient() { System.out.println("생성자 호출, url..
목차 1. JPQL 2. 기본 문법과 쿼리 API 3. 프로젝션 4. 페이징 5. 조인 6. 서브 쿼리 7. JPQL 타입 표현 8. 조건식 - CASE 식 9. JPQL 함수 1. JPQL JPA를 사용하면 엔티티 객체를 중심으로 개발을 진행하는데 EntityManager.find()나 객체 그래프 탐색(a.get())으로 조회가 어려운 검색 쿼리를 작성할 때 JPQL을 사용한다. String jpql = "select m From Member m where m.name like ‘%hello%'"; List result = em.createQuery(jpql, Member.class) .getResultList(); JPA는 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어 제공 SQL과 문법 유..
목차 1. 클래스 체계 2. 단일 책임 원칙 3. 낮은 결합도와 높은 응집도 4. 클래스는 변경하기 쉬워야 한다. 1. 클래스 체계 클래스를 정의하는 표준 자바 관례에 따르면 다음과 같은 순서이다. static public 상수 > private 변수 공개 함수 > private 함수 비공개 함수는 자신을 호출하는 공개 함수 직수에 넣는다. 추상화 단계가 순차적으로 내려가 가독성이 높아진다. 캡슐화 클래스를 개발할 때 기본적으로 구현을 감추고 외부 객체와 상호작용 하는 부분만 노출한다. 필드를 private으로 제한, 외부의 잘못된 사용을 방지한다. 2. 단일 책임 원칙 (SRP) 클래스는 함수와 마찬가지로 작아야 한다. 작은 클래스는 각자 맡은 책임이 하나며, 변경할 이유가 하나며, 다른 클래스와 협력..
목차 1. 경계란 2. 외부 코드 사용하기 3. 학습 테스트 1. 경계란 프로젝트에서 오픈소스, 라이브러리 같은 외부 코드를 자주 사용한다. 우리 코드는 외부 코드의 인터페이스를 제공받아 사용하는데 제공자와 사용자 사이의 시스템 경계에서는 문제가 생길 소지가 많기 때문에 외부 코드를 우리 코드에 깔끔하게 통합 할 수 있도록 경계를 잘 지어야 한다. 2. 외부 코드 사용하기 캡슐화 외부 코드를 사용하는 부분을 캡슐화해 데이터를 보호하고 외부 인터페이스가 변할 경우 우리 코드에 미치는 영향을 최소화 한다. java.util.Map 인터페이스를 예로 든다. Map sensors = new HashMap(); ... Sensor s = sensors.get(sensorId ); Map 인터페이스가 제공하는 cl..
- Total
- Today
- Yesterday
- http
- kafka
- clean code
- Git
- Spring Data JPA
- spring rest docs
- 클린코드
- H2
- 이벤트 스토밍
- HTTP 헤더
- ATDD
- 마이크로서비스 패턴
- Spring Boot
- 스프링 예외 추상화
- 폴링 발행기 패턴
- 스프링 카프카 컨슈머
- 육각형 아키텍처
- mockito
- 계층형 아키텍처
- Stream
- 학습 테스트
- named query
- Spring
- TDD
- JPA
- 도메인 모델링
- 트랜잭셔널 아웃박스 패턴
- MySQL
- Ubiquitous Language
- java8
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |