반응형
인텔리제이 대소문자 구분없이 자동완성 하기
https://strawberry-smoothie.tistory.com/25
Lombok을 이용한 의존성 주입
어노테이션 | 설명 | 세부 설정 |
@Getter @Setter |
Getter 메서드 자동 생성 Setter 메서드 자동 생성 |
- lazy : 지연 호출로 동기화를 이용하여 1번만 호출 - AccessLevel : 접근 제한 레벨 설정 |
@ToString | ToString 메서드 자동 생성 | - callSuper : 상위 클래스 toString 호출 여부 - exclude : 출력하지 않을 필드명 입력 - includeFieldNames : 필드명 생략 여부 |
@Data | @ToString, @EqaulsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor 자동생성 | |
@EqualsAndHashCode | equals, hashcode 메서드 자동생성 | - of : 포함할 필드 - exclude : 제외할 필드 |
@Val | class로 final 키워드 대신 사용하는 변수 | |
@NonNull | Null 일 경우 NullPointerException 발생 | |
@Cleanup | 자동 리소스 관리로 close() 메서드 관리 | |
@NoArgsConstructor | 인자 없는 생성자 생성 | |
@RequriedArgsConstructor | 필수 인자를 가지는 생성자 생성 | |
@AllArgsConstructor | 모든 인자를 가진 생성자 생성 | |
@Value | 불변 선언 | |
@Builder | Builder API 지원 | |
@SneakyThrows | Exception 발생시 체크된 Throable로 전달 | |
@Synchronized | 메서드 동기화 Lock 설정 | |
@Log | 로그를 설정 | - 기본 변수명 : Log이며 config 파일 설정 후 명칭 변경 가능 - 로그 종류 : @Log, @Slf4j, @CommonLog, Xslf4j, JBossLog 등 |
출처: https://otrodevym.tistory.com/entry/spring-boot-시작하기-2-Lombok-설정-및-사용-방법
lombok 참조 사이트
JPA annotation 사용
https://eocoding.tistory.com/29
클래스 생성
package org.example.model;
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;
}
package org.example.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TodoRequest {
private String title;
private Long order;
private Boolean completed;
}
package org.example.model;
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();
// 기본 URL 설정
this.url = "http://localhost:8080/" + this.id;
}
}
반응형
'IntelliJ' 카테고리의 다른 글
테스트 코드 작성 (0) | 2021.06.05 |
---|---|
TodoList 구현 (컨트롤러 구현) (0) | 2021.05.30 |
TodoList 구현 (서비스 코드 구현) (0) | 2021.05.30 |
TodoList 구현 (repository 구현) (0) | 2021.05.30 |
인텔리제이 시작 (0) | 2021.05.30 |