[TIL-DAY26] Spring 정리 [@Validated, @Valid]
- Spring Container
- Spring Bean
- Spring Container가 관리하는 Java 객체
- IOC/DI
- 제어의 역전(IOC)
- 객체 생성과 의존성 관리를 개발자가 아닌 Spring이 담당
- 의존성 주입(DI)
- 객체 간의 의존성을 Spring Container가 주입
- 싱글톤 패턴
- Spring Bean은 기본적으로 싱글톤 패턴으로 관리되어 하나의 인스턴스만 생성
- Spring Bean 등록
- 자동 등록(권장)
- @ComponentScan(Spring Boot) + @Component(@Controller, @Service, @Repository)
- 수동 등록
- 의존관계 주입
- 생성자 주입
- 생성자 + @Autowired를 통해 의존성을 주입받는다. 불변, 실수 방지
- @RequiredArgsConstructor
- final 필드에 자동으로 생성자를 생성해 주입한다.
- Validation
- BindingResult
- Bean Validation
- Annotation 기반으로 Validation이 가능하도록 만들어진 표준 기술
-
@Validated VS @Valid
-
@Validated

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

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