Spring 주차로 넘어오고 나서 2~3주를 가까이 아직도 CRUD에 붙잡혀 있는게 너무 답답하다..
알듯 말듯하다가도 막상 혼자 작성해보려그러면 시작을 못하겠고 어디서부터 손을 대야할지도 모르겠고
학습하면서 아무렇게나 끄적거렸던 것들 까먹기전에 끄적여본다...
엔티티
@Getter
@Entity
@Table
@NoArgsConstrustor
public class {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
등등등
// 생성자
public Schedule(String title,String content, String author, String password){
this.title = title;
this.content = content;
this.author = author;
this.password = password;
}
서비스에
private final ScheduleRepository scheduleRepository
dto는 무조건 @Getter 적고 시작
dto에는 생성자가 들어간다.
--------------------------------------------------------------------------------------
엔티티 정의 → 레포지토리 → DTO → 서비스 → 컨트롤러
리턴값을 계속 생각해보자
엔티티 만들기
레포지토리 만들기
서비스 만들기
컨트롤러
dto
요청 들어옴 controller>requestdto>service>entity>repository>db
응답해줌 entity>service>responsedto>controller
@PostMapping = @RequestBody
@GetMapping = @PathVariable
1. Entity 클래스 코드 작성 시
1. @Getter
2. @Entity
3. @Table(name= ~~)
4. @NoArgsConstructor(access = AccessLevel.PROTECTED)
5. @Id
6. @GeneratedValue(strategy = GenerationType.IDENTITY)
는 무조건 적고 시작하기!
프라이빗 long id
프라이빗 String name;
등등등
생성자 만들기
퍼블릭 생성자 (id는 X, 스트링 등등등)
this. 등등등
퍼블릭 보이드 update(id는 X)
this. 등등등
2. 레포지토리 만들기
얜 ㄹㅇ 별거없음 extends Jpa레포지(엔티티명, pk 타입)
3. 서비스 만들기
@service
@Required
서비스는 레포지토리를 가져옴
private final ~repository
4. 컨트롤러 만들기
컨트롤러에는
@RestController
@RequiredArgsConstructor
컨트롤러는 서비스를 가져옴 컨 서 레
private final ~Service ~Service;
이게 기본적인 틀
서비스를 만들자 컨트롤러가 엔티티를 알면 안됨
엔티티에 있는 id 빼고 가져와
private name; 등등등
컨 서 레
컨트롤러 안에 서비스 넣어줘야 함
서비스안에 레포지토리 넣어줘야 함
Controller부터 시작
@RestController
@RequiredArgsConstructor
private final Guestbook서비스 guestbook서비스
등록부터 만들기
@PostMapping
createUser(@Request body ~~~)
userService.save() ;라는 매서드를 호출할건데 그럼 dto가 있어야 함
CreateGuestbook dto 생성
안에 들어갈 내용은
private String name;
private String message;
생성했으면 응답도 있어야 함
GuestbookResponse dto 생성
response는 final
id 포함
private final Long id
~ 등등
// 생성자
만들기
Controller로 이동
public ResponseEntity<GuestbookResponse> create(@RequestBody CreateGuestbook createGuestbook){
GuestbookResponse saved = uestbookService.create(createGuestbook);
}
Service로 이동
저장을 해야함
@Transactional readOnly 아님
Service는 Controller에 의해 호출됨
Controller에 썼던 GuestbookResponse create(CreateGuestbook createGuestbook)을 입력
포스트 맵핑, 리스폰스 엔티티
서비스는 @Transactional
'Camp > Java 문법 종합' 카테고리의 다른 글
| [TIL] : 배열(Array) & 메서드(Method) & 계산기 과제에서의 트러블 슈팅 (0) | 2026.06.24 |
|---|---|
| [TIL] 조건문, 반복문 (0) | 2026.06.09 |
| [TIL] 입출력, 연산자 (0) | 2026.06.08 |
| [TIL] 자바 프로젝트 관리와 변수 (0) | 2026.06.05 |
| [TIL] 자바 입문 (자바의 기초와 메모리 이해) (0) | 2026.06.02 |