-
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 (1)Back-end/스프링부트 2020. 8. 9. 11:54
* 게시판 기능
- 게시글 조회
- 게시글 등록
- 게시글 수정
- 게시글 삭제
* 회원 기능
- 구글/네이버 로그인
- 로그인한 사용자 글 작성 권한
- 본인 작성 글에 대한 권한 관리
1. 프로젝트 생성
2. 프로젝트에 Spring Data Jpa 적용
- 의존성 등록
build.gradle 설정 - domain 패키지 생성 : 여기서 도메인이란 게시글,댓글,회원,정산,결제 등 소프트웨어에 대한 요구사항 혹은 문제영역.
posts 클래스 : 실제 DB의 테이블과 매칭될 클래스 ( Entity클래스라고 한다). 실제 DB데이터에 작업할 경우 실제 쿼리를 날리기보다는, 이 Entity 클래스의 수정을 통해 작업한다. Posts 1.@Entity :
- 테이블과 링크될 클래스임을 나타낸다.
- 기본값으로 클래스의 카멜케이스 이름을 언더스코어 네이밍으로 테이블 이름을 매칭한다.
2. @Id
- 해당 테이블의 PK 필드
3.@GeneratedValue
- PK 생성 규칙.
4. @Column
- 테이블의 칼럼을 나타내며 굳이 선언하지 않더라도 해당 클래스의 필드는 모두 칼럼이 된다.
-사용하는 이유 : 기본 값 외에 추가로 변경이 필요한 옵션이 있으면 사용.
5. @NoArgsConstructor
- 기본 생성자 자동 추가
- public Posts() {} 와 같은 효과
6. @Getter
- 클래스 내 모든 필드의 Getter 메소드를 자동 생성
7. @Builder
- 해당 클래스의 빌더 패턴 클래스를 생성
- 생성자 상단에 선언 시 생성자에 포함된 필드만 빌더에 포함
* Entity클래스에서는 절대 Setter 메소드를 만들지 않습니다.
'Back-end > 스프링부트' 카테고리의 다른 글
좋은 객체지향 설계 법칙(SOLID) (0) 2020.11.29 hibernate 오류 : ids for this class must be manually assigned before calling save() (1) 2020.10.15 [JPA] 외래키 - 연관관계 주인 (0) 2020.10.05 Spring 웹 어플리케이션 계층 구조 (0) 2020.10.05 JPA Auditing (0) 2020.09.25