이제는 많이 익숙해진 Spring boot를 통해 프로젝트를 시작해본다.
Spring boot 3.2.1
Java 17
gradle
Local : Macbook Air M1
초기 버전에서는 최소한의 기능만 설계
@Data
@Entity
public class Member extends DateEntity{
@Id @GeneratedValue
private Long Id;
private String name;
private String loginId;
private String password;
private String email;
private String phoneNumber;
@Embedded
private Address address;
...
}
@Data
@Entity
public class Post extends DateEntity{
@Id @GeneratedValue
private Long Id;
private String title;
private String content;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;
...
}
@Entity
@Data
public class Comment extends DateEntity {
@Id @GeneratedValue
private Long Id;
private String content;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "post_id")
private Post post;
...
}
<div th:if="${loginMember.getId() == comment.getMember().getId()}">
@Getter
@RequiredArgsConstructor
public enum Role {
GUEST("ROLE_GUEST", "손님"),
USER("ROLE_USER", "일반 사용자"),
ADMIN("ROLE_ADMIN", "관리자");
private final String key;
private final String title;
}
게시판을 공지사항 / 자유게시판 / 질문게시판으로 분류했다.
게시글에 들어가면 어떤 게시판인지 볼 수 있게 태그를 넣었다.
검색 조건이 현재 제목, 게시판 분류 2개이기 때문에 조건이 더 추가된다면 Querydsl을 도입해야 코드 작성에 편할 것 같다.