Java&Spring/Spring
-
스프링부트 GCS 연동 part2Java&Spring/Spring 2023. 1. 26. 00:24
Part 1 에서 Storage 생성과 Iam 서비스 계정을 만들었다. https://chosunghyun18.tistory.com/72 스프링부트 GCS 연동 part1 서문: 스프링 부트와 gcs 연동에 관한 글이다. 관련 블로그를 찾아 따라할려고 했지만 , 서버를 로컬에서 돌리고 가상 인스턴스에 올리지 않는 가정에서 시작하여 차이가 있다. 1. gcs 가 발급을 하 chosunghyun18.tistory.com Part2는 이미지 업로드 까지 해보자. 간단하게 구글 클라우드의 서비스 계정을 어플리케이션에 올리려는 방식을 할려고 했지만 , 클라우드에서 필요한 조건들을 만족하기 어렵기 때문에 ,github 에 특정 값을 제외하고 json 파일을 올리고 , vm(gcp instance) 서버에서 코드를 ..
-
스프링부트 GCS 연동 part1Java&Spring/Spring 2023. 1. 25. 14:59
서문: 스프링 부트와 gcs 연동에 관한 글이다. 관련 블로그를 찾아 따라할려고 했지만 , 서버를 로컬에서 돌리고 가상 인스턴스에 올리지 않는 가정에서 시작하여 차이가 있다. 1. gcs 가 발급을 하는 키중 하나인 json 파일을 보안상의 문제로 github 에 올릴 수가 없다. 2. 이전 프로젝트에서 aws s3 를 이용하여 구축을 했던 설정처럼 Iam 유저에서 secret key 와 access key 값을 뽑아 yml 파일에 입력하는 방식으로 진행을 하고자한다. 사전 준비 사항 1. GCP VM 인스턴스 외부 , 내부 ip 확인 -----------------------------------------------------------------------------------------------..
-
Spring data-JPA,data-Rest (feat.프로젝트 구조)Java&Spring/Spring 2022. 10. 31. 14:18
2 가지를 볼거다,data-jpa ,data-rest 1. Spring Data JPA Entity type 과 pk 값을 주면 자동으로 DAO 를 만들어주고 CRUD implementation 을 제공하는 기능을 한다 . Repository 를 만든다. package udemycode.dao; import org.springframework.data.jpa.repository.JpaRepository; import udemycode.domain.Employee; public interface EmployeeRepository extends JpaRepository { } 끝이다. Service 를 만든다. package udemycode.service; import lombok.RequiredArgsC..
-
@QualifierJava&Spring/Spring 2022. 10. 31. 13:34
이글은 유데미 강의 Sprin & Hibernate for Beginners 539 번 강의의 내용입니다. @Repository @RequiredArgsConstructor public class EmployeeDAOJpaImpl implements EmployeeDAO{ @Autowired private final EntityManager em; @Repository @RequiredArgsConstructor public class EmployeeDAOHibernateImpl implements EmployeeDAO{ @Autowired private final EntityManager em; Service 에서 받을 implement 가 현제 두개(JPA DAO,Hibernate DAO)라 스프링에..
-
Spring data Jpa camelCase 자동 underscore 방지 MysqlJava&Spring/Spring 2022. 9. 19. 13:11
Spring Entity 에서 다음과 같이 camelCase 로 fild 값을 선언했지만 private LocalDateTime orderDate; //주문시간 Mysql 에서는 order_date 라고 칼럼명이 들어간다. 이는 매핑에 오류를 불러올 수 있다. yml 파일에 naming 를 추가해주자. jpa: hibernate: ddl-auto: create naming: implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl # 자동 camelCase-> underscore 전환 방지. physical-strategy: org.hibernate.boot.model.naming.PhysicalNaming..
-
Spring Test 기초[1] , assertall()Java&Spring/Spring 2022. 9. 6. 21:10
TDD 를 공부 할 때가 되었다.. 단위 테스트를 어떻게 하는지 여기서는 다루지 않는다. 기본적인 어노테이션과 개념만 적어본다. Junit 5 를 사용한다. 스프링 부트 버전 2.2+ , 프로젝트를 만든 다면 기본적으로 junit5 의존성이 추가가 된다 . JUNIT PlatForm : 테스트를 실행해주는 런처를 제공한다. testApi 제공 Jupiter: TestEngine API 구현체로 JUnit 5 를 제공한다. Vintage : Junit 4 와 3를 지원하는 testEngine 을 지원 . test 생성 . src folder 의 원하는 class 에 가서 , (control)cmd+shift+T 를 눌러준다. (Intellij File -> Project Structre 에 들어가 mark..
-
JPA 영속성 컨텍스트Java&Spring/Spring 2022. 9. 1. 14:55
영속성 컨텍스트 = 엔티티를 저장 하는 환경 정의: Domain 에서 정의 한다. 엔티티(Entity) = 개체 , 데이터의 집합 , 저장 관리 되는 대상. --- JPA ---- Spring 에서는 Entity 어노테이션을 붙임으로 정의를 한다 . 1. 모든 Entity 는 pk 를 가지고 있어야한다. @GeneratedValue 를 이용하여 identifier 의 정의 방법을 설정 할 수 있다. 2. ex) package hackathon.nomadworker.domain; import com.fasterxml.jackson.annotation.JsonIgnore; import org.locationtech.jts.geom.Point; import javax.persistence.*; import l..
-
Spring & JPA persist 자동 생성 id 받기Java&Spring/Spring 2022. 8. 26. 21:11
스프링 persist 이해 하기 . @RequiredArgsConstructor public class PlaceRepository { @Autowired private final EntityManager em; public Place post(Place place) { em.persist(place); System.out.println(place.getId()); // make point return place; } Place class 의 instance place 를 매개 변수로 받아 persist 를 하면, id 를 받는다.. ? -> flush 를 해줘야 한다. @Repository @RequiredArgsConstructor public class PlaceRepository { @Autowi..