2020.04.22 TIL 스프링 - AutoWiring(2), Qualifier
Bean Inject하는 방법은 3가지가 있고 아래와 같다.
1. Constructor Injection
@Component
public class NewCoach implements Coach {
private FortuneService fs;
@Autowired
public NewCoach(@Qualifier("sadFortuneService") FortuneService fortuneService) {};
@Override
public String getDailyWorkout() {
// TODO Auto-generated method stub
return null;
}
2. Setter Injection
@Component
public class NewCoach implements Coach {
private FortuneService fs;
@Autowired
public String setFortuneService(FortuneService fs) {
this.fs = fs;
}
3. Field Injection
@Component
public class NewCoach implements Coach {
@Autowired
@Qualifier("happyFortuneService")
private FortuneService fs;
Private 필드에 @Autowired를 붙여서 자동으로 Bean을 주입하고 사용하는 방식은 혼자 자바, 스프링 공부하는 내내 사용했던 문법인데 이제서야 제대로 한 번 쳐다보는 느낌이다.
Autowired를 통해 Inject하는 방법은 아래와 같이 크게 3가지가 있었으며, 어느 방식으로 하던 큰 차이 없다고 하니 하나의 convention을 정하고 그대로 계속 사용하면 될 것 같다.
Qualifier로 Spring Unique Bean 주기
- 위의 예시를 보면 @Qualifier 어노테이션을 볼 수 있다. 똑같은 Interface를 구현하는 여러 Bean들이 있으면 어떤 Bean을 선택할 지 골라줘야 하는데 이 때 사용되는 방식이 Qualifier 어노테이션이다.
(상단의 예제에서는 HappyFortuneService, ExcitingFortuneService, DelightFortuneService 가 있는 상황이라서 happyFortuneService를 Qualifier에서 사용하는 것이다.)
내일할 것은 https://www.udemy.com/course/spring-hibernate-tutorial/learn/lecture/5385040#overview 이거.
1. Constructor Injection
@Component
public class NewCoach implements Coach {
private FortuneService fs;
@Autowired
public NewCoach(@Qualifier("sadFortuneService") FortuneService fortuneService) {};
@Override
public String getDailyWorkout() {
// TODO Auto-generated method stub
return null;
}
2. Setter Injection
@Component
public class NewCoach implements Coach {
private FortuneService fs;
@Autowired
public String setFortuneService(FortuneService fs) {
this.fs = fs;
}
3. Field Injection
@Component
public class NewCoach implements Coach {
@Autowired
@Qualifier("happyFortuneService")
private FortuneService fs;
Private 필드에 @Autowired를 붙여서 자동으로 Bean을 주입하고 사용하는 방식은 혼자 자바, 스프링 공부하는 내내 사용했던 문법인데 이제서야 제대로 한 번 쳐다보는 느낌이다.
Autowired를 통해 Inject하는 방법은 아래와 같이 크게 3가지가 있었으며, 어느 방식으로 하던 큰 차이 없다고 하니 하나의 convention을 정하고 그대로 계속 사용하면 될 것 같다.
Qualifier로 Spring Unique Bean 주기
- 위의 예시를 보면 @Qualifier 어노테이션을 볼 수 있다. 똑같은 Interface를 구현하는 여러 Bean들이 있으면 어떤 Bean을 선택할 지 골라줘야 하는데 이 때 사용되는 방식이 Qualifier 어노테이션이다.
(상단의 예제에서는 HappyFortuneService, ExcitingFortuneService, DelightFortuneService 가 있는 상황이라서 happyFortuneService를 Qualifier에서 사용하는 것이다.)
내일할 것은 https://www.udemy.com/course/spring-hibernate-tutorial/learn/lecture/5385040#overview 이거.
댓글
댓글 쓰기