본문 바로가기

Server Oriented/SpringBoot

[스프링부트] 인터페이스 구현 클래스가 여럿인 경우, 컨트롤러에서 어떤 것을 사용..?

원문 : https://velog.io/@daelkdev/Spring-bean이-여러-개-일-때-어떻게-의존성을-주입할까

1. @Controller 클래스에서 서비스 기술시 @Autowired 를 사용하는 방법
  어떠한 이유로든 오류가 발생할 수 있어서 추천되는 방식은 아니네요. ㅠ

2. @Service 클래스에 @Primary 로 우선 주입 클래스를 지정하는 방법
  (우선 주입된 클래스가 아닌) 다른 클래스를 사용해야 할 수도 있어서 추천되지 않는..

3. @Service 클래스에 @Qualifier("클래스 인스턴스명") 를 지정하고,
  @Controller 클래스의 생성자에서 (구현한 클래스를) @Qualifier 입혀서 파라미터를 등록하는 방법.

  음.. 이 방법이 좋네요.
  @Controller 클래스 하나에서 (구현한 클래스) 여러개를 사용하는 경우..
  @Controller 클래스에 멤버변수로 필요한 만큼 기술하고,
  @Controller 클래스의 생성자에 필요한 만큼의 파라미터를 적용.