개발/SpringBoot

개발/SpringBoot

HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)

Hibernate가 JTA(Java Transaction API) 플랫폼을 찾지 못하여서 발생하는 문제입니다... yml에 spring: jpa: properties: hibernate: transaction: jta: platform: org.hibernate.service.jta.JtaPlatform 를 추가하여 해결하였습니다

개발/SpringBoot

JPA @Builder 사용시 유의 사항

서론안녕하세요 프로젝트 개발 중에 있어서 생성자에 관한 걸 찾아보다가올바른 @Builder 사용방법이라는 블로그 글을 우연하게 보았는 데요.그간 저의 개발 방식이 잘못되진 않았나? 라는 생각에 블로그를 작성하게 되었습니다. JPA 관련 포스팅은 아래 2가지를 먼저 참고해주시면 감사하겠습니다. JPA 사용 시 Entity단에서 @NoArgsConstructor(access = AccessLevel.protected) 로 설정하는 이유https://ryudain.tistory.com/42 [Spring Boot] JPA 사용 시 Entity단에서 @NoArgsConstructor(access = AccessLevel.protected) 로 설정하는 이유본 포스팅은 김영한 실전 ! 스프링 데이터 JPA 학습 ..

개발/SpringBoot

[Spring Boot] JPA 사용 시 Entity단에서 @NoArgsConstructor(access = AccessLevel.protected) 로 설정하는 이유

본 포스팅은 김영한 실전 ! 스프링 데이터 JPA 학습 후복습 및 정리를 위해 작성되었습니다.   💭서론캡스톤에서도 JPA를 사용했는 데 해당 내용을 이제서야 학습하다니... 반성하고 있습니다,..지금 생각해보니 해당 강의도 캡스톤 돈으로 긁은 강의네요 그래도 좋은 점은 프로젝트를 끝내고 강의를 들으면서이해가 더 잘되는 부분들이 꽤 많기 때문에 강의 듣는 내내 너무 재미가 있는 거 같습니다. Querydsl 를 공부하기 전에 JPA부터 제대로 공부하자 ! 라는 생각으로 강의를 듣고 있는 건데 강의를 들으면 들을 수록 JPA를 더 공부해야겠다는 생각만 늘고 있습니다 ......... 아무튼 본론으로 넘어가겠습니다. 💭 본론🤔 JPA는 왜 기본 생성자가 필요할까? JPA 는 데이터베이스에서 데이터를 조..

개발/SpringBoot

[SpringBoot] FCM(FireBase Cloud Messaging)으로 1대1 알림 전송 [1편]

프로젝트를 진행하게 되면서 1대1 알림에 대한 파트를 맡게 되었습니다.해당 블로그는 FCM으로 1대1 알림 전송을 구현하는 과정을 적어봤습니다.해당 블로그글은 FCM 설정을 마쳤다는 가정하에 작성된 글입니다.  🤔 FCM이란?FCM은 Firebase Cloud Messaging의 약자로서, 무료로 메시지를 안정적으로 전송할 수 있는 교차 플랫폼 클라우드 서비스입니다.구글 클라우드 서버를 사용하여 서버를 연결하지 않고, 기기 내부 연결을 통해서 메시지를 전송할 수 있습니다.메시지 전송을 위한 자원은 아래와 같습니다.Token : 디바이스마다 하나의 토큰을 통해서 한 명의 사용자를 구분하고, 알림을 전송할 수 있습니다.Topic: 하나의 주제(Topic)으로 묶어서 해당 Topic을 구독한 사용자들에게 알..

개발/SpringBoot

[Spring Boot] 싱글톤 컨테이너

해당 포스팅은 김영한 스프링 강의를 보고 다시한번 복습을 위해 정리한 포스팅입니다.  Srping Boot는 싱글톤 컨테이너를 지원합니다.그럼 싱글톤 컨테이너를 알기 전에 스프링에서의 컨테이너란 무엇을 의미할까요? 스프링 컨테이너를 알기 전 중요한 개념인 IoC에 대해서 먼저 알아보겠습니다. IoC란 (Inversion Of Contrlloer)?제어의 역전이라는 의미로, 스프링은 IoC 개념이 강하게 적용 된 기술입니다.프로그램의 제어 흐름을 직접 하는 것이 아닌, 외부에서 관리하는 것을 제어의 역전(IoC: Inversion Of Controller)라고 합니다. 예를 들어서 개발자가 작성한 어플리케이션의 코드가 개발자가 아닌, 프레임워크에 개념에 따라서 사용되는 것을 의미합니다.  위 그림과 같이 ..

개발/SpringBoot

@RequestBody @RequestPart @RequestParam @PathVariable

오늘은 SpringBoot Controller 단에서 가장 많은 형태로 받아오는 @RequestBody @RequestPart @RequestParam @PathVariable 어노테이션 4가지에 대해 각각 특징을 알아보겠습니다. @RequestBody@RequestBody는 JSON 형태의 데이터를 Java 객체에 매핑할 때 사용하는 어노테이션입니다. Object의 변환을 위해 @RequestBody 어노테이션을 선언해주면 Spring의 HTTP 요청으로 넘어오는 body의 내용을 HttpMessageConverter를 통해 Java Object로 역직렬화합니다. multipart 요청이 아닌, 즉 어떤 바이너리 파일을 포함하고 있지 않은 데이터를 받는 역할을 해줍니다.@Getter@Setter@NoA..

개발/SpringBoot

[좋은 객체 지향 설계의 5원칙: SOLID] 객체지향과 스프링

해당 포스팅은 김영한 스프링 강의를 학습하고, 정리한 내용입니다.  객체지향과 스프링은 어떠한 관계가 있을 까 ?결론부터 얘기하자면 순수한 자바로 객체 지향 설계 원칙을  준수하다보면 스프링 프레임워크를 만들게 됩니다. 그렇다면 좋은 객체 지향 프로그래밍이란 무엇일까요? 좋은 객체 지향 프로그래밍이란?다형성하나의 타입의 여러 개의 객체를 넣을 수 있는 다형성이 가장 중요합니다.자바에서 다형성은 주로 인터페이스를 의미하며, 자동차라는 역할(인터페이스)가 있을 때 구현은 인터페이스를 구현한 클래스, 구현 객체를 통해서 이루어집니다. 클라이언트는 k3라는 구현체를 원할때 자동차라는 인터페이스만 알면 되기 때문에 내부 구조를 알지 않아도 됩니다. 이러한 다형성을 사용하기 위해서 객체를 설계할 때 역할과 구현을 ..

개발/SpringBoot

[Spring Boot] OAuth2 연동 중에 생긴 method filterchain in "" required a bean of type "" that could not be found.에러

method filterchain in "디렉터리 경로(webconfig)" required a bean of type "디렉터리 경로" that could not be found. 이라는 에러가 떴다. 이유가 뭔지 찾아봤을 땐 라이브러리의 충돌인 줄 알았지만 ,,, application.yml의 문제였다 !! 평소 properties 설정파일을 사용했기에 yml에서의 문제일 줄은 몰랐다 .. ㅠ.ㅠ 수정전 yml 파일 이전엔 이렇게 security만 따로 있었는 데 이게 아니라 spring안에 security가 존재해야 했다.!!! 수정된 yml 파일 spring: security: oauth2: client: registration: kakao: client-id: client-secret: auth..

류다인
'개발/SpringBoot' 카테고리의 글 목록