불변객체란? 생성 이후에 상태를 변경할 수 없는 객체를 말합니다. Final 자바에서 불변으로 만들기 위한 키워드입니다. Final Class 클래스에 final을 붙이면 더이상 상속할 수 없는 클래스가 됩니다. Final Method 메서드에 final을 붙이게 되면 오버라이딩을 할 수 없는 메서드가 됩니다. Final Variable 변수 앞에 final 키워드를 붙이면 값 변경이 불가능한 변수가 됩니다. Final을 사용하는 이유는 뭘까? 장점 객체의 데이터를 참조할 때 데이터가 바뀔 걱정을 하지 않아도 됩니다. 멀티스레드 환경에서 동기화처리 없이 사용할 수 있습니다. 방어복사를 할 필요성이 없어집니다. 이렇게 프로그램의 안전성이 올라가는 코드를 구현할 수 있습니다. 단점 새로운 객체를 생성해야 하..
Step 01 - build.gradle에 필요한 모듈 추가 스프링 부트 2.3 버전 이상부터는 validation이 스프링 부트 스타터에 포함되어 있지 않고 별도의 모듈로 분리되어서 추가를 해주어야 합니다. // validation implementation 'org.springframework.boot:spring-boot-starter-validation' Step 02 - DTO class 작성 클라이언트의 요청 데이터가 DTO 클래스로 캡슐화하여 서버로 전달 Controller Service 계층간 데이터 전달 @Data public class NoticeAddDto { @Range(min = 0, max = 1) private int status; @NotBlank private String ..
@ControllerAdvice란? @ControllerAdvice란 모든 Controller에서 발생할 수 있는 예외를 잡아 처리해주는 어노테이션입니다. @ExceptionHandler란? @ExceptionHandler란 @Controller, @RestController 어노테이션이 적용된 Bean 내에서 발생하는 예외를 잡아서 하나의 메서드에서 처리를 해주는 기능입니다. Contoller, RestController에서만 적용이 가능합니다.(@Service 같은 빈에서는 적용이 안됩니다.) 예제 해당 예제는 DB에 Insert시 query문에서 오타가 있어서 DB에 저장이 안되고 nested exception is java.sql.SQLSyntaxErrorException 와 같은 예외를 발생시킵..
Wrapper Class란? 자바 API 클래스 중 하나입니다. 자바의 자료형은 primitive type(기본 타입)과 reference type(참조 타입)으로 나누어집니다. Primitive type - byte, short, char, int, float, double, boolean Reference type - class, interface 등등 8개의 Primitive type에 해당하는 데이터를 객체로 표현하기 위해 포장해주는 클래스가 바로 Wrapper Class입니다. 언제 사용될까? 주로 매개변수로 객체를 요구하고, 기본 데이터형이 아닌 객체로 저장해야 할 때, 객체간 비교가 필요할 때 등등의 경우에 Wrapper 클래스가 이용됩니다. 예를 들어 특정 객체를 한 곳에 모아 관리하기 편..
- Total
- Today
- Yesterday
- 레이어드 아키텍처란
- transactional outbox pattern spring boot
- spring boot poi excel download
- java userThread와 DaemonThread
- JDK Dynamic Proxy와 CGLIB의 차이
- microkernel architecture
- 트랜잭셔널 아웃박스 패턴 스프링부트
- spring boot redis 대기열 구현
- spring boot 엑셀 다운로드
- 람다 표현식
- spring boot excel download oom
- spring boot redisson sorted set
- java ThreadLocal
- pipeline architecture
- spring boot redisson destributed lock
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- 자바 백엔드 개발자 추천 도서
- pipe and filter architecture
- space based architecture
- spring boot excel download paging
- redis 대기열 구현
- redis sorted set으로 대기열 구현
- service based architecture
- redis sorted set
- spring boot redisson 분산락 구현
- polling publisher spring boot
- 서비스 기반 아키텍처
- 공간 기반 아키텍처
- transactional outbox pattern
- @ControllerAdvice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |