자바에 대한 이해가 너무나 부족해서 해매고 있는 요즘입니다.
자바의정석으로는 알수없는 스프링의 세계에요. 이제는 그냥 되는대로 그때그때 에러와 에러를 에러와 함께 스프링과 자바에 대한 부족함을 극복하고 있습니다.
BeanCreationException
위의 사진처럼 에러가 떴습니다. 저는 kakao 로그인을 구현 하려고 했습니다. 지난 주차에서 다른 조원분이 하신 코드를 그대로 가져왔는데 에러가 떴습니다. 어차피 사용자 정보를 User가 아니고 Member로 저장한 거 밖에 다른 게 없다고 생각했기 때문입니다. 그런데!!!! 왜 자꾸 저렇게 에러가 뜨는지 모르겠었어요.
구글 해보니 Bean을 제대로 설정해주지 않아서, 제대로 주입해주지 않아서 생긴 문제라고 했습니다.
@Component, @Service, @Controller같은 Bean 등록이 안되있어서 그렇다고 하더라고요. 그런데 확인 결과 해당 어노테이션들은 잘 붙어있었습니다.
해결
저희팀에는 숙련된 조교분이 계십니다.
저희반자체에 컴공 전공하신 분들이 절반이 넘는다고 합니다.
사전스터디가 첫 코딩이었던 (그게 벌써 3개월도 전입니다....) 저와 같은 비전공자 노베이스 분들께는 그저 빛입니다.
제가 하루종일 고민하고 찾아봐도 모르겠었는데 설마 이거겠어 했던게 이거였습니다.
팀원분이 바로 보고 application.properites에 등록했어요? 라고 문제를 찾아내셨습니다.
encryptor와 kakao 관련해서 properties를 추가했고 @value로 보안관련 키값들을 저장해놨습니다.
그걸 사용하려면 application.properties에
spring.profiles.include=
에 값을 넣어주어야합니다.
저희는 applicaiton.properties파일에 아래와 같이 파일들이 들어있기 때문에
spring.profiles.include= dev, kakao, encryptor
라고 써줘야 해당 값들을 불러와서 쓸 수 있었습니다.
BeanCreationException에서 아래 자료도 참고하면 좋을듯합니다.
https://www.baeldung.com/spring-beancreationexception
카카오 로그인 accesstoken 받기
1. Oauth에 클라이언트가 Authorization code 요청
2. Oauth가 redirect uri를 통해 클라이언트에 Authorization code 부여
3. 클라이언트가 Authorization code 를 서버에 전달
4. 서버가 Authorization code를 Oauth에 보내서 Acess token 요청
5. OAuth가 Acesstoken을 서버에 부여
6. 서버는 클라이언트에 Acess token을 전달
위와 같은 과정을 거쳐 소셜 로그인을 하게됩니다.
저는 카카오 로그인을 맡았는데
프론트에 accesstoken을 발급받아서 백에 전달하는 식으로 진행을 할 거라
프론트분들과 보조를 맞춰야해서 아직 서버 연결은 못해봤지만 코드는 완성했고 멀쩡히 실행은 됩니다.
곧 실전 주차 6주짜리 프로젝트
다음주부터 실전 주차인데
아이디어들은 많습니다. 개발자분들은 기획은 관심없고 기술 구현에만 관심이 있으신듯한데 경영학도 출신인 저는 기획이 잘 되야 만드는 보람이 있을 것 같습니다.
오늘 떠오른 아이디어는 소개팅앱입니다.
매칭되면 만나기 전에 화상 채팅해서 괜한 발걸음 할 필요 없는 그런 소개팅 앱을 구상해봤습니다.
적당히 자격조건을 걸어서 회원 가입 자격도 주고요.
'TIL' 카테고리의 다른 글
TIL 첫 클론 프로젝트 끝 221229 (0) | 2022.12.30 |
---|---|
TIL 카카오로그인 구현 완성 프론트랑 연결하기 221228 (0) | 2022.12.29 |
TIL 카카오로그인 221226 (0) | 2022.12.27 |
TIL WIL 1+6주차 회고 벌써 한해가 지나갔다 221225 (0) | 2022.12.26 |
TIL 깃헙 활용해서 협업하기 (Feat. mapStruct) 221224 (0) | 2022.12.24 |