Spring 기본 정리

김정훈·2024년 7월 8일

Spring

목록 보기
3/24

1. 스프링 설정

@Configuration 애노테이션이 붙어 있는 클래스

  • Appctx
  • @Bean 애노테이션 : 메서드 👉 수동 등록 빈
  • @ComponentScan("스캔범위") : 스프링 컨테이너가 생성할 객체의 클래스를 스캔할 범위

2. 스프링 컨테이너

AnnotationConfigApplicationContext

1) 객체 생성

  • 스캔 범위가 설정되어 있으면 스캔 범위를 스캔
  • 스캔 기본 대상에 해당하는 클래스이면 👉 객체 생성
    • @Component
    • @Service
    • @Configuration
    • @Controller
    • @RestController
    • @ControllerAdvice
    • @RestControllerAdivce
    • @Aspect
    • @Repository

2) 의존성 주입

  • @Autowired
    • 1) 멤버 변수 위
    • 2) Setter 메서드 위
    • 3) Optional 형태로 감싼 구조 / 멤버 변수, setter 메서드
  • @AutoWired 사용하지 않고 의존성 주입
    • 생성자 매개변수에 의존성을 정의한 경우(+ 기본생성자는 정의 x)
    • 객체 생성을 할때 의존성 주입을 강제
    • lombok @RequiredArgsConstructor 함께 많이 사용
      • 초기화가 반드시 필요한 멤버 변수(final)를 생성자 매개변수에 추가
      • 멤버변수가 상수가 아닐경우에는 @NonNull사용해서 생성자 매개변수에 추가
profile
안녕하세요!

0개의 댓글