[TIL-DAY26] Spring 정리 [@Validated, @Valid]

김유란·2025년 2월 4일
  1. Spring Container
    • Bean 관리, 의존성 주입
  2. Spring Bean
    • Spring Container가 관리하는 Java 객체
  3. IOC/DI
    • 제어의 역전(IOC)
      • 객체 생성과 의존성 관리를 개발자가 아닌 Spring이 담당
    • 의존성 주입(DI)
      • 객체 간의 의존성을 Spring Container가 주입
  4. 싱글톤 패턴
    • Spring Bean은 기본적으로 싱글톤 패턴으로 관리되어 하나의 인스턴스만 생성
      • 상태를 가져서는 안된다.
  5. Spring Bean 등록
    • 자동 등록(권장)
      • @ComponentScan(Spring Boot) + @Component(@Controller, @Service, @Repository)
    • 수동 등록
      • @Configuration + @Bean
  6. 의존관계 주입
    • 생성자 주입
      • 생성자 + @Autowired를 통해 의존성을 주입받는다. 불변, 실수 방지
    • @RequiredArgsConstructor
      • final 필드에 자동으로 생성자를 생성해 주입한다.
  7. Validation
    • BindingResult
      • Validation 오류 정보를 담는 객체
    • Bean Validation
      • Annotation 기반으로 Validation이 가능하도록 만들어진 표준 기술

  • @Validated VS @Valid

    1. @Validated

      • 속성값이 존재한다.
      • spring이 제공하는 Annotation
    2. @Valid

      • 속성값이 존재하지 않는다, groups 기능 지원하지 않는다.
      • groups 기능을 사용하려면 @Validated를 사용해야 한다.
      • Java 표준 Annotation

0개의 댓글