[Spring Boot] 개념 정리

cocoding·2023년 7월 14일
1

SpringBoot

목록 보기
2/2

개념 정리

DTO는 객체, 즉 데이터다. (데이터를 DB에 전송해야 함.)

  • getter, setter로 가져오고 보냄

JPA는 저장소를 쉽게 구현하도록 하는 것. (JAVA언어를 DB가 이해하도록 도와줌.)

  • Entity : class
  • Repository : interface, 일꾼

lombok은 코드를 간결화 함 (refactoring)

  • Getter, setter를 작성하지 않아도 Annotation으로 깔끔하게 정리됨.

model사용하기 (View로 전달하기 위함)
사용법 -> Parameter에 model을 넣어줘야 함.

Model을 data에서 가져오는 방법
1) id로 data를 가져옴 -> Repository를 통해 Model에 등록해준다.
2) Parameter로 가져온 data를 Model에 등록해준다.

ex) model.addAttribute(변수명, 엔티티명)

3) 보여줄 페이지를 설정

ex) return "";

수정페이지를 반영하는 방법
1) DTO를 Entity로 변환
2) Entity를 DB로 저장
3) redirect:/ 하기 -> addFlashAttribute 사용

역할 정리

  • Controller : 역할(웨이터) -> client 요청을 받고 처리함
  • Service : 역할(주방장) -> Repository를 불러와서 사용함
    --> service는 Transaction 단위로 진행 (Rollback이 가능)
  • Repository : 역할(보조 주방장), Entity 사용

JPARepository는 일반 Repository 기능에 조회 및 정렬, 페이지 처리가 가능하다.

Ioc는 Controller, Service, Repository를 관리하고 만든다.
따라서, 시스템이 객체를 만들어주기 때문에 생성자를 만들지 않아도 자동으로 생성된다.
사용법 -> @component, @Autowired로 가져와서 사용

DI는 요구사항마다 변경하는 번거로움을 해결하기 위함으로 사용자가 시스템에 만드는 것이다. (상속 받아서 사용)

AOP는 특정지점에 부가기능을 잘라 넣는 것이다.
개발하면서 CRUD 말고도 Parameter가 잘 들어갔는지, 수행시간 측정 등 부가기능이 필요하므로 사용한다.
ex) @Aspect, @Pointcut

ObjectMapper는 REST API를 통해 JSON이 DTO로, DTO가 JSON으로 변화시킨 것이다.
ex) writeValueAsString, ObjectNode

글을 정리하며..

홍팍님 강의는 이해가 엄청 잘 되도록 설명해주신다. 비유도 적절하고, 예제도 쉽게 만드셨기 때문에 강의를 듣는 것을 추천한다. 이 블로그는 간단하게 설명한거라 강의를 보면 더 잘 이해가 갈 것이다. 개념만 풀어쓴 것이라 간단하고 가볍게 보면 좋은 글일 것이다.

0개의 댓글