Spring Framework 에서 의존성 주입(Dependency Injection) 을 자동으로 처리해주는 어노테이션. Spring IoC(제어의 역전) 컨테이너를 통해 관리되는 빈(Bean) 의 의존성을 자동으로 주입할 수 있게 해줌
@Autowired 를 사용하면 Spring이 자동으로 필요한 의존성을 주입해줌. 이를 통해 객체 생성과 관련된 코드를 최소화할 수 있음.@Autowired 는 생성자, 필드, 메서드에 사용할 수 있음.@Autowired 를 필드에 붙여서 의존성을 주입할 수 있음.@Component
public class MySerivce {
@Autowired
private MyRepository myRepository;
}
@Autowired 를 붙여서 의존성을 주입하는 방법. 이 방법은 불변성을 보장하고, 의존성이 명확이 드러나며, 테스트와 유지보수가 용이@Component
public class MyService {
private final MyRepository myRepository;
@Autowired
public MyService(MyRepository myRepository) {
this.myRepository = myRepository;
}
}
@Autowired 를 붙여서 의존성을 주입할 수 있음. 주로 설정 메서드에서 사용됨@Component
public class MyService {
private MyRepository myRepository;
@Autowired
public void setMyRepository(MyRepository myRepository) {
this.myRepository = myRepository;
}
}
@Aurowired(required=false) 를 사용할 수 있음.@Autowired(required=false)
private OptionalBean optionalBean;
@Qualifier 와 함께 사용하기@Qualifier 를 사용함.@Component
public class MyService {
@Autowired
@Qualifier("specificBean")
private MyRepository myRepository;
}