[spring] 컴포넌트 스캔 vs 자바코드 / DI

suu1006·2023년 10월 1일
0

spring

목록 보기
3/3
  • welcome page

    resource > static > index.html
    -> welcome page 생성

  • @Responsebody

    viewResolver 대신 HttpMessageConverter가 동작.
    Http body에 문자 내용 직접 반환.

1. 컴포넌트 스캔과 자동 의존관계 설정

  • 컴포넌트 스캔 원리

    @Controller, @Service, @Repository
    -> @Component 포함하는 애너테이션은 스프링 빈으로 자동 등록됨.

  • @Autowired

    객체 생성 시점에 스프링 컨테이너에서 해당 스프링 빈을 찾아서 주입.

  • 스프링은 스프링 컨테이너에 스프링 빈을 등록할 때, 기본으로 싱글톤으로 등록.
    - 같은 스프링 빈이면 모두 같은 인스턴스다.

2. 자바코드로 직접 스프링 빈 등록

  • @Service, @Repository, @Autowired 제거
  • @Configuration , @Bean 어노테이션으로 직접 등록

DI(Dependency Injection)
1. 필드 주입
2. setter 주입
3. 생성자 주입(권장)
-> 기존 코드 손대지않고, 설정만으로 구현 클래스 변경 가능.

JPA - 기본적 CRUD 쿼리 제공

AOP - 공통 관심 사항

0개의 댓글