[Spring]스프링 빈

J_Log·2023년 5월 17일
0

Spring

목록 보기
3/10

스프링 빈

스프링 컨테이너에 저장돼서 필요한 의존 관계를 설정해 줄 수 있음

스프링은 스프링 컨테이너에 스프링 빈을 등록할 때 싱글톤을 적용함

싱글톤은 유일하게 하나만 등록해서 사용하는 방법이다.

스프링 빈을 등록하는 방법

  1. 컴포넌트 스캔과 자동 의존 관계 설정
  2. 직접 자바 코드로 스피링 빈 등록

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

@Component 애노테이션이 있으면 자동으로 스프링 빈으로 저장된다
@Controller, @Service, @Repository 모두 @Component를 포함한다

DI (Dependancy Injection)

생성자에 @Autowired 애노테이션이 있으면 스프링이 연관된 객체를 스프링 컨테이너로부터 찾아서 연결해준다.

  1. 필드 주입

    생성자나 세터 없이 만드는 방법이다. 조작에 좋지 않은 방법이다.
  1. setter 주입

    setter에 @Autowired를 붙여 만드는 방법이다. public으로 된 메서드기 때문에 불필요한 호출이 있을 수 있다.
  1. 생성자 주입

    애플리케이션이 조립될 때, 생성되고 나서 setter처럼 호출될 일 없다. 권장되는 방법이다.

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

실행 파일이 있는 패키지에 Config 페이지를 만든다.
@Configuration 클래스와 @Bean 메소드를 만들어서 직접 정의가 가능하다.

각각의 장단점

XML로 설정하는 방법은 생략

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

profile
공부합시다

0개의 댓글