Java&Spring
-
자바를 조심스럽게 열어 보았다 - Switch 문Java&Spring/Java 2023. 5. 4. 21:31
이전 블로그 포스팅에서는 자바의 스위치문이 if-else 문을 이용하는 것 보다 성능적으로 좋을 수 있다라는 이야기를 하였습니다. 이번 글에서는 자바 12 이상의 표현에서 장점 , 동일성과 동등성의 개념을 이야가하며 스위치문의 문자열 매칭 방식의 대하여 알아봅니다. 1. 람다 표현에서 문자열 생성의 장점 자바 버전 12 이상에서 사용하는 람다 표현식을 활용하면 다음과 같이 작성 할 수 있습니다. public class Application { public static void main(String[] args) { int value = 4; switch (value){ case 4 -> System.out.println(value + "this is four"); case 1 -> System.out.p..
-
@RequiredArgsConsructor ,@NoArgsConstructor , @AllArgsConstructorJava&Spring/Spring 2023. 2. 15. 18:13
지난 블로그 https://chosunghyun18.tistory.com/76 @RequiredArgsConstructor, @NotNull, @Valid ,@NotBlank 어노테이션들을 항상 정리하고 외우지만, 기억 보다는 기억을 이라는 말이 있다. 정리를 한번 하고 가자. 1. 생성자의 활용 Class 의 기본 전제는 객체를 사용하는데 있어 생성자가 필연적이다 라 chosunghyun18.tistory.com Lombok을 사용하면 생성자를 자동으로 생성할 수 있다. 지난 블로그에서 이미 우리는 하나의 클라스에 여러개의 생성자를 만들 수가 있다라고 이야기를 했다. 어노테이션 정리를 먼저 하자. @NoArgsConstructor 파라미터가 없는 기본 생성자를 생성한다. @AllArgsConstruct..
-
@RequiredArgsConstructor, @NotNull, @Valid ,@NotBlankJava&Spring/Spring 2023. 2. 15. 17:42
어노테이션들을 항상 정리하고 외우지만, 기억 보다는 기억을 이라는 말이 있다. 정리를 한번 하고 가자. 1. 생성자의 활용 Class 의 기본 전제는 객체를 사용하는데 있어 생성자가 필연적이다 라는 것을 전제로 하자. 생성자라는 것은 클라스당 하나 라는 편견은 버리자. 다음과 같이 객체를 넘겨서 생성 하는 방식과 모든 인자값 을 넘겨 받는 방식이 존재한다. 이러한 방식을 생성자 오버로딩이라 한다. public static class PrivateTodoResponse{ private Long private_todo_id ; private String task; private LocalDate date; private String imageUrl; private Boolean complete; privat..
-
em.persist 이후 get$ObjsectId() 가 가능 한가?Java&Spring/Spring 2023. 2. 4. 17:46
코드를 보자 @Entity public class PrivateTodo { @Id @GeneratedValue @Column(name = "private_todo_id") //pk private Long id ; .... > -> id 에 null 이 들어가는 경우를 열어둔 것은 이글의 제목의 답이 될 수 있다. Entity Manager 를 통해서 PrivateTodo의 객체를 DB 에 저장하는 코드이다. @Repository @RequiredArgsConstructor public class PrivateTodoRepository { @Autowired private final EntityManager em; public PrivateTodo save(Member member ,String task,..
-
스프링부트 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..