java

    [Spring Boot] Error creating bean with name 'entityManagerFactory' defined in class path resource

    [Spring Boot] Error creating bean with name 'entityManagerFactory' defined in class path resource

    Spring Boot, Kotlin, JPA, H2를 이용해서 API 테스트코드를 작성중이었다. Error creating bean with name 'entityManagerFactory' defined in class path resource Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceExcepti..

    [Spring Boot] 오류: Cannot construct instance of (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

    [Spring Boot] 오류: Cannot construct instance of (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

    정말 오랜만에 작년에 진행했던 프로젝트의 서버를 다시 살려보았다. 겨우 살리는데는 성공을 했는데, API호출을 해보니 500에러가 난다!ㅠㅠ 🚨 에러메세지 Cannot construct instance of `model` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) 문제가된 'model' 위치에는 req, res에 사용되는 dto class가 있었다. import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lom..

    [Spring Boot] Restful API 404 Found, html 출력

    [Spring Boot] Restful API 404 Found, html 출력

    이슈 최근에, Spring Boot를 initializr부터 직접사용해서 프로젝트를 만들어보고 있는데, 단순한 테스트용 Get API부터 호출이 안되고 404 Not Found가 떴다. 분명 제대로 만들 것 같은데...왜그런가해서 검색을 해보니 패키지 기본 경로 ex) com.demo.example 이 아래에 Controller및 Application 파일이 있지 않으면 찾지 못해서라고 한다. 하지만 나는 기본 경로 아래에 잘 작성한 것 같다고 생각되었다. 문제 & 해결 계속 Controller에서 이 경로로 못들어오는 줄 알았는데, 혹시나해서 프린트를 찍어봤더니 "hi"는 출력이 된다! 그럼 return "test"가 제대로 동작하지 않아서 Not found가 뜬다는 것이다. 현재 "test"에 노란줄..

    [Spring Boot] 카카오 로그인 API 구현 (1) - Access token 발급받기

    [Spring Boot] 카카오 로그인 API 구현 (1) - Access token 발급받기

    Spring Boot를 이용해서 카카오 로그인을 구현해보았다. Node.js로 구현할 때보다 복잡해보였는데, 구현하고 나니까 그래도 생각보단 덜 복잡했다! 동작 흐름 카카오를 이용한 소셜로그인 구현 Flow이다 이건 네이버도 비슷하다! Apple은 조금 다를 듯 1. 클라이언트 쪽에서 로그인을 한다 2. 카카오 서버는 redirect url로 code를 전달해준다 3,4. code를 이용하여 access_token을 발급받는다 5. access_token을 서버로 전송한다 6,7. 서버에서는 받은 access_token을 이용하여 카카오 서버에서 사용자 정보를 받는다 8. 받은 사용자 정보를 이용하여 회원가입 또는 로그인을 진행한다 9. JWT등과 같이 사용자 식별 정보를 클라이언트로 보낸다 혼자 프론트..

    [Android] lombok 사용 (getter, setter, constructor 자동생성)

    [Android] lombok 사용 (getter, setter, constructor 자동생성)

    스프링에서 lombok을 썼었는데, 안드로이드를 java로 하게되면서 getter, setter, constructor을 안드로이드 스튜디오에서 Generate를 이용하여 한줄씩 생성하다가 답답해서 lombok있나 찾아보니 있었다! 완전 편함 ^^ File - Setting - Plugins OR Android Studio - Preferences - Plugins 에 들어가서 lombok을 검색하고 설치 build.gradle (app) dependencies { compileOnly 'org.projectlombok:lombok:1.18.16' annotationProcessor 'org.projectlombok:lombok:1.18.16' } 설정 끝! 이제 사용하면 된다 이렇게 사용을 원하는 클래..

    [Android][Glide] W/Glide: Load failed for  with size

    [Android][Glide] W/Glide: Load failed for with size

    URL에서 이미지를 추출하여 화면에 보여주기 위해 Glide를 사용해보았는데, 이미지가 계속 비어서 나와서 보니까 W/Glide: Load failed for with size [275x275] class com.bumptech.glide.load.engine.GlideException: Failed to load resource 라는 에러가 나고 있었다 load 에서 item에서 getUrl()을 하면 DB에 저장된 이미지 경로가 불러와져야하는데, url을 넣으면 동작하는데 저렇게 하니까 동작하지 않았다. 보니까 itemList에서 내가 item을 생성할 때 imgUrl에 빈 값을 주고 있어서 그랬다..ㅎ 값을 제대로 넣어주니 성공! itemList에 url이 빈값인지 아닌지 확인해보면 해결할 수 있을..

    [Android] OkHttpClient .build 에러 - java.lang.exceptionininitializererror

    Retrofit 이용하여 처음으로 API 엮는 부분을 구현하는데, OkHttpClient를 build하는 부분에서 바로 앱이 강제종료 되어버리고, java.lang.exceptionininitializererror 라는 에러문구만 띄워줬다. 코드상에 문제는 없어보였는데 검색하여 okHttp 깃허브 문서를 보니 버전 얘기가 있길래 혹시나 해서 gradle에서 Retrofit, OkHttp 관련 버전들을 모두 업그레이드 해줬는데 (alt + enter 또는 option + enter 해서 나오는 버전 클릭) 바로 해결되었다....^^ 엄청 헤맬뻔 했는데 생각보다 금방 해결해서 다행이다 이제 잘 수 있다!

    [Android][Java] 일정시간 지난 후 코드 실행

    dialog 사용중에, dismiss()를 그냥 사용했더니 창이 너무 빠르게 닫혀서 조금의 딜레이를 주기 위해 아래 코드를 사용하여 약간 지난 후, 닫히도록 했다. Handler mHandler = new Handler(); mHandler.postDelayed(new Runnable() { public void run() { dismiss(); //다른 코드 추가 가능 } }, 200);

    [SpringBoot][AWS EC2] nohup을 이용하여 무중단 서비스 만들기

    [SpringBoot][AWS EC2] nohup을 이용하여 무중단 서비스 만들기

    빌드 먼저 Git을 통해 받은 프로젝트 폴더로 이동하여, build를 진행한다. ./gradlew build build가 완료되었다 실행 java -jar build/libs/demo-0.0.1-SNAPSHOT.jar 정상적으로 잘 실행되었다. 하지만 이상태에서 터미널을 종료하면 실행중인 java도 같이 종료되어 버린다! 무중단 서비스를 위해 nohup을 이용하여 백그라운드에서 실행시키자 nohup nohup java -jar build/libs/demo-0.0.1-SNAPSHOT.jar & > /dev/null 아까 실행시킬 때 수행했던 명령어 앞에 nohup을 붙이고, 뒤에 &을 붙이면 백그라운드에서 실행이 되어, 터미널을 종료해도 EC2상에서는 계속 돌아간다, 뒤에 > /dev/null은 log를 ..

    [SpringBoot] 에러 : JSON parse error: Cannot construct instance of~

    [SpringBoot] 에러 : JSON parse error: Cannot construct instance of~

    Spring Boot에서 POST방식을 처음 사용하는데, JSON parse error: Cannot construct instance of~ 이라는 에러가 났다ㅜㅜ Body로 보낸 json파일을 읽지를 못하는 것 같았다 타입이 잘못됬나해서 이것저것 바꿔봤는데 아주 간단했다... @RequestBody부분에서 받아올때부터 에러가 난다! 해결방법 Header에 "Content-Type": "application/json" 를 추가해주니까 된다 만약 이 방법으로 안된다면, model class에 @JsonAutoDetect 추가해보길 참고) 그리고 위 model Class는 속성이 2개 인데, 1개만 넣었을 때도 에러가 났다! 1개만 포함하고 있는 Class는 model로 안봐주는 것인가..?!