[Spring Boot] Spring 의존성 주입 방법 3가지

송하연·2024년 1월 29일
0

스프링부트🌱

목록 보기
7/8

Spring에서 의존성을 주입하는 방법에는 생성자 주입, @Autowired, 필드주입 3가지 방식이 있다. 각각의 특징과 장점에 대해서 알아보자!!

1. 생성자 주입

: 객체 생성 시 생성자를 통해 필요한 의존 객체를 주입

  • 생성자 호출 시점에 1번만 호출된다.
  • 불변성 지원
@Controller 
public class Controller{
   private final Service service;

   @Autowired 
   public Controller(Service service){
     this.service = service; 
   }
}

💡 생성자 주입 방식의 장점

  • 명시적인 의존성 관리: 코드에서 의존성이 어떻게 주입되는지 명확하게 볼 수 있다.
  • 불변성: 생성자 주입을 통해 객체의 불변성을 유지할 수 있다.

2. @Autowired

: @Autowired 어노테이션을 사용하여 Spring 컨테이너가 자동으로 의존성을 주입

  • Setter 메소드에 @Autowired 어노테이션을 붙임
@Controller
public class Controller {
    private Service Service;
    
    @Autowired
    public void setService(Service service) {
    	this.service= service;
    }
}

3. 필드주입

: 의존성을 클래스의 필드로 직접 주입

  • 필드에 @Autowired 어노테이션 주입
  • 코드가 간결하지만, 외부에서 변경하기 힘듦
@Controller
public class Controller {
	
    @Autowired 
    private Service service;
}

0개의 댓글