SocialLoginApiServiceFactory 클래스
271
작성한 질문수 9
안녕하세요 강사님!! 강의 정말 잘 듣고있습니다, 강의를 다 들은 후 전체적으로 흐름을 따라가면서 확인을 해보고 있는데요, SocialLoginApiServiceFactory 클래스에서 이해가 잘 가지 않는 부분이 있어 질의드리고자 합니다.
먼저 SocialLoginApiServiceFactory에서는socialLoginApiServices 이라는 map 자료구조에 키 값으로 빈 이름이, value 값에는 SocialLoginApiService를 구현한 impl(ex, KakaoLoginApiServiceImpl) 클래스가 들어가는 것으로 이해했습니다. 현재는 map에 value가 KakaoLoginApiServiceImpl 1개만 저장이 되어있고, 만약 네이버나 구글 등 다른 impl을 구현하면 갯수가 늘어나는 것으로 이해했는데 제가 이해한게 맞을까요??
만약 제가 이해한 것이 맞다면, socialLoginApiServices에 key와 value가 어떤 방식으로 저장되는지 궁금합니다. 상속관계의 Bean에 대해서 Springboot에서 알아서 세팅을 해주는 것인가요??
관련 코드 첨부하겠습니다
@Service
public class SocialLoginApiServiceFactory {
private static Map<String, SocialLoginApiService> socialLoginApiServices;
// map에는 SocialLoginApiService 구현체가 각각 들어갈 것임
public SocialLoginApiServiceFactory(Map<String, SocialLoginApiService> socialLoginApiServices) {
this.socialLoginApiServices = socialLoginApiServices;
}
public static SocialLoginApiService getSocialLoginApiService(MemberType memberType) {
String socialLoginApiServiceBeanName = "";
if(MemberType.KAKAO.equals(memberType)) { //멤버 타입이 카카오면
socialLoginApiServiceBeanName = "kakaoLoginApiServiceImpl"; //빈 이름에 카카오 서비스 구현체 저장
}
return socialLoginApiServices.get(socialLoginApiServiceBeanName);
// 빈 이름을 키 값으로 활용하여 구현체(KakaoLoginApiServiceImpl) 반환
}
}
답변 1
0
안녕하세요 말씀해주신것처럼 현재는 map에 value가 KakaoLoginApiServiceImpl 1개만 저장이 되어있고, 네이버나 구글 등 다른 impl을 구현하면 map에 key로 빈이름, value로 소셜로그인 구현체 빈들이 들어가있다고 생각해주시면됩니다.
빈주입 같은 경우에는 스프링컨테이너에 자동으로 빈들이 등록되는데, 이때 SocialLoginApiServiceFactory을 빈으로 만들기 전에 소셜 로그인 구현체들을 빈으로 먼저 생성하고 해당 빈들을 SocialLoginApiServiceFactory의 map에 세팅해서 주입해준다고 생각해주시면됩니다.
OAUTH2 질문
0
97
2
카카오토큰관련
0
82
2
auditing
0
77
1
전역에러처리질문
0
115
2
토큰 발급 관련 문의 드립니다.
0
131
2
이 흐름이 맞을까요??
0
127
2
OpenFeign을 어떤 상황에서 어떻게 사용하는지 감이 안옵니다...
0
220
2
도메인형 패키지 구조 질문
0
242
1
application.yml token 선언 시 오류
0
322
1
토큰발행시 500 INTERNAL_SERVER_ERROR
0
158
1
oauth 회원가입 시 필수 추가 정보는 어떤 식으로 받으시나요?
0
288
2
io.jsonwebtoken.security.WeakKeyException 해결방법
0
387
1
리프레시 토큰 사용 관련 문의 건
0
336
1
Xss 에서 WebConfig 오류 발생됩니다.
0
673
1
applycation.yml 의 readTimeout 이 적용이 안됩니다.
0
697
2
강사님 Swagger에 질문드립니다.
0
294
2
kakao token 발급 시 에러
0
732
2
아직 초반부분인데 질문이있습니다.
0
205
1
socialLoginApiService map 주입
0
291
1
전역 에러 처리 메시지 관리
0
608
2
안드로이드 스튜디오와 협업
0
646
2
String accessToken = authorizationHeader.split(" ")[1];은 accessToken이 맞나요?
0
312
1
SocialLoginApiServiceFactory 생성자 관련 질문입니다.
0
256
1
OAuthAttributes 클래스의 toMemberEntity의 파라미터로 memberType이 들어가야하는 이유가 궁금합니다.
0
445
2





