Back-End/Spring-Boot 9

Gradle QClass 에러

Spring Boot 프로젝트에서 JPA를 동적으로 사용하려면 QueryDSL이라는 의존성을 추가하여 사용한다.이는 QClass를 이용하는데 빌드할 때 이를 생성한다. 하지만 빌드할때마다 뭔가 꼬여서 recreate를 하는데 에러가 발생하는데 이를 해결하기 위해서는 다음과같이 빌드 및 실행을 gradle이 아닌 intellij idea로 변경해주면 해결된다. (안된다면 clean 수동으로 해주고 다시 빌드해보기)

Spring Boot [NaverCloud ObjectStorage] 사용법

이번에 진행하는 프로젝트에서 영상 및 JSON 파일을 object storage에 저장하는 서비스 로직을 추가하게 되었다 설명에 앞서 Amazon의 S3가 아닌 Ncloud의 objectStorage를 선정한 이유는 크게 4가지다. 1. 국내서비스라 문서읽기가 매우편함. 2. 최근 Ncloud의 Server, DB 등등 사용해봐서 익숙함. 3. AWS 과금에 당한적이있음. 4. objectstorage 1주간 사용해봤는데 파일 크기가 얼마안되는지 아직까지 0원 청구됨. (매우쌈) Amazon의 S3랑 완벽하게 호환되고 국내서비스라 Docs를 읽을때 좀 더 쉽게 이해할 수 있었다 나는 spring boot 즉 java 언어를 사용하기 때문에 아래와 같은 Docs를 참고하여 사용하였음 https://guid..

Spring Boot 간단 예제로 시작하기 6 (Repository계층, Service계층)

이번에는 JPA로 아주 손쉽게 CRUD 기능을 할 수있는 JPA Repository 를 만들고 사용해보자 package com.example.demo.repository; import com.example.demo.domains.Member; import org.springframework.data.jpa.repository.JpaRepository; public interface MemberRepository extends JpaRepository { } 인터페이스로 MemberRepository를 만들고 JpaRepository를 상속받으면 기본적인 CRUD기능을 사용 할 수 있다. JpaRepository을 적어주어야 한다 Repository 사용에 앞서 서버에서의 처리 과정을 설명하자면 크게 3개..

Spring Boot 간단 예제로 시작하기 5 (domain model)

예제를 본격적으로 시작해 보려한다. 이름, 나이, 를 입력해서 화면에 출력하고 각각 서비스로직을 간단하게 다뤄볼 것이다. 먼저 JPA를 이용하여 Entity를 생성해주겠다. package com.example.demo.domains; import lombok.Getter; import lombok.Setter; import javax.persistence.*; @Entity @Getter @Setter public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "member_id") private Long id; @Column(unique = true) private String name; priv..

Spring Boot 간단 예제로 시작하기 4 (MVC- 2)

이번엔 Controller를통해 model을 심어서 페이지를 리턴 해보겠습니다. model 이란? Controller에서 생성한 데이터를 담아서 View로 전달할 때 사용하는 객체 package com.example.demo.Controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class IndexController { @GetMapping("/index") public String index(Model model) { model.addAttri..