SpringBoot/프로젝트

DI를 이용한 Decorator

PeepPeep! 2023. 11. 27. 13:12

[오류 내용]

HelloControll가 필요한 bean인 HelloService가 2개 존재할 경우(여러 빈이 조회되었을시 ) 발생하는 오류

 

 

[해결방안]

현대 helloDecorator과 simplerHelloService에 총 2개가 존재하는데 이때 어디꺼를 쓸것인지 우선 순위를 정해줘야함

@Primary우선순위 부여하여 해결

@Service
@Primary    //HelloController가 필요한 bean이 2개 존재할때 얘를 우선적으로 가져다가 쓰겠다는 의미
public class HelloDecorator implements HelloService{

@Primary : 우선적으로 가져다가 쓰겠다는 의미