JAVA

[JAVA] 인텔리제이 To - do List_프로젝트셋팅 및 모델구현

P.젤리비 2022. 8. 1.
반응형

프로젝트 기본 설정

  • new project - gradle - java 설정 - 프로젝트 이름 설정
  • build.gradle파일의 dependencies부분의 내용을 지워준다.
  • plugins부분에 플러그인 추가
id 'org.springframework.boot' version '2.4.2' //스프링부트 관련
id 'io.spring.dependency-management' version '1.0.11.RELEASE' //디펜던시 관련

dependencies부분에 사용할 라이브러리 추가

//스프링부트 관련
implementation 'org.springframework.boot:spring-boot-starter-data-rest'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
//h2 관련(인메모리? 데이터베이스)
runtimeOnly 'com.h2database:h2'
//롬복 라이브러리
annotationProcessor("org.projectlombok:lombok")
compileOnly("org.projectlombok:lombok")
//롬복 에러 발생시 자바버전에 맞는 롬복 버전을 추가로 작성해주면 해결가능하다.
//나의 경우 java18을 사용하는데 1.18.20이었다.
  • 플러그인 설치창로 가서 lombok설치하기
  • Enable annotation processing 체크

  • 자바버젼을 1.7로 해야 추후 정상작동가능하다.

 

모델구현

  • TodoEntity.java
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;

@Data
@Entity
@NoArgsConstructor
@AllArgsConstructor
public class TodoEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(nullable = false)
    private String title;

    @Column(name = "todoOrder", nullable = false)
    private Long order;

    @Column(nullable = false)
    private Boolean completed;
}

 

  • TodoRequest.java
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class TodoRequest {
    private String title;
    private Long order;
    private Boolean completed;
}
  • TodoResponse.java
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class TodoResponse {
    private Long id;
    private String title;
    private Long order;
    private Boolean completed;
    private String url;

    public TodoResponse(TodoEntity todoEntity){
        this.id = todoEntity.getId();
        this.title = todoEntity.getTitle();
        this.order = todoEntity.getOrder();
        this.completed = todoEntity.getCompleted();

        this.url = "http://localhost:8080/" + this.id;
    }
}
반응형

댓글

💲 추천 글