반응형 SMALL SpringBoot/서비스 계층 및 비즈니스 로직3 유효성 검사와 예외 처리 유효성 검사 (Validation)DTO 클래스에 유효성 조건 추가public class MemberDto { @NotBlank(message = "이름은 필수입니다.") private String name; @Email(message = "유효한 이메일 형식이어야 합니다.") private String email; @Min(value = 10, message = "나이는 10세 이상이어야 합니다.") private int age; // getter/setter 생략}Java Bean Validation(표준) 기반이며, javax.validation.constraints 혹은 jakarta.validation.constraints 패키지를 사용합니다.컨트롤러에서 유.. 2025. 4. 15. 의존성 주입(DI)과 @Service 의존성 주입(DI) 이란?정의의존성 주입은 객체 간의 의존 관계를 개발자가 직접 생성하지 않고,스프링이 대신 주입해주는 설계 패턴입니다.즉, 객체를 직접 new 하지 않고, 필요한 객체를 외부에서 주입받는 것입니다.왜 필요한가? 전통적인 방식 문제점 UserService userService = new UserService();클래스가 스스로 의존 대상을 만들기 때문에 결합도가 높고 테스트 어려움DI를 사용하면 이렇게 바뀝니다:@Servicepublic class UserService { private final UserRepository userRepository; // 생성자를 통해 주입 (Constructor Injection) public UserService(UserReposit.. 2025. 4. 15. 서비스 계층 생성 및 역할 MVC 3계층 구조 이해 계층 설명 Controller사용자 요청/응답 처리 (API 진입점)Service비즈니스 로직을 담당 (주 로직 중심)Repository데이터 저장소(DB)와 직접 통신서비스 계층은 도메인 로직의 중심입니다.단순히 DB에 넘겨주는 수준을 넘어서서, 다양한 검증·처리·계산이 포함됩니다.서비스 계층 생성 예시1. 기본 구조@Servicepublic class MemberService { private final MemberRepository memberRepository; // 생성자 주입 (추천 방식) public MemberService(MemberRepository memberRepository) { this.memberRepository = mem.. 2025. 4. 15. 이전 1 다음 LIST