Lombok에는 생성자 관련 어노테이션이 대표적으로 3가지가 있다. @NoArgsConstructor @AllArgsConstructor @RequiredArgsConstructor 각각에 대해 명확하게 알아보자! 1. @NoArgsConstructor 첫 번째로 @NoArgsConstructor 어노테이션의 경우 매개변수가 없는 기본 생성자를 만들어 준다. 예를 들어 이런 클래스가 있을 때 @NoArgsConstructorpublic clas
프레임워크를 사용하다 보면 자연스럽게 쓰게 되지만 막상 DI가 무엇인지 명확히 설명하기 애매한 경우도 많다. 이번 글에서는 DI가 무엇인지, 왜 쓰는지, 그리고 실제 코드에서는 어떻게 사용되는지 알아보자. DI(Dependency Injection)란? 필요한 객체를 내가 직접 new 하지 않고 외부에서 넣어 주도록 만드는 것을 의미한다. 예를 들어 A 클래스에서 B 클래스를 필요로 할 때 A 클래스 내부에서 new 키워드를 사용하여 직접 생성
Spring을 사용하다 보면 자연스럽게 접하게 되는 어노테이션들이 있다. @Component, @Controller, @Service 등인데 각각의 어노테이션들의 공통점과 차이점에 대해 알아보자. 1) @Component @Component는 Spring에서 가장 기본적인 컴포넌트 등록용 어노테이션이다. 컴포넌트란 애플리케이션을 구성하는 독립적이고 재사용 가능한 단위를 의미한다. 이 어노테이션이 붙은 클래스는 Spring의 컴포넌트 스캔 대상
블로그나 커뮤니티 게시판처럼 많은 데이터를 다루는 서비스에서 모든 데이터를 한 번에 내려주는 것은 비효율적일 뿐만 아니라 사용자 경험까지 해칠 수 있다. 서버 입장에서는 과도한 부하가 발생하고 클라이언트 브라우저는 불필요한 네트워크 낭비와 함께 렌더링 시간 지연을 겪게 된다. 이런 문제를 해결하는 대표적인 방법이 바로 페이징 처리(Pagination)이다. 백엔드에서 데이터를 일정 단위로 나누어 전달하면 클라이언트는 필요한 페이지만 요청하고 효
스프링 부트에서는 @Valid 어노테이션을 통해 유효성 검사를 쉽게 구현할 수 있다. 유효성 검사란? 사용자가 입력한 데이터가 올바르고 기대한 형식이나 조건에 맞는지 확인하는 과정을 의미한다. 이를 통해 잘못된 데이터가 시스템에 들어오는 것을 사전에 차단할 수 있다. 유효성 검사를 하지 않으면 예상치 못한 입력으로 인해 프로그램이 비정상 종료되거나 잘못된 데이터가 데이터베이스에 저장되어 오류가 발생할 수 있으며 보안 위험도 증가한다. 따라서 비