어노테이션

@Autowired

  • 자신에게 해당 타입의 빈을 주입해주라는 표시(주입: 해당 타입의 빈 인스턴스를 생성해 달라는 의미)

@AllArgsConstructor

  • Lombok 애노테이션
  • 모든 인스턴스 변수를 파라미터로 받는 생성자를 자동 생성 (ex. Restaurant(Chef))

@RequiredArgsConstructor

  • @NonNull 이나 final이 붙은 인스턴스 변수에 대한 생성자 생성

@Configuration

  • 자바 설정파일에 선언
  • ex: RootConfig.java

@ComponentScan

  • 의존성 주입을 위해 bean을 검색하기 위해 설정하는 RootConfig.java 에 선언
  • ApplicationContext가 @ComponentScan 을 통해 지정된 패키지를 스캔하면서 @Component 가 붙은 클래스들의 인스턴스를 생성함.
  • @ComponentScan(basePackages={"org.test.sample"} )

@Component

  • 해당 클래스가 스프링에서 객체로 만들어 관리하는 대상임을 명시, @ComponentScan을 통해 @Component가 있는 객체들을 조사함.

@Data