Spring&SpringBoot
-
[스프링부트/웹 애플리케이션 개발]API 개발 고급-2Spring&SpringBoot 2023. 1. 11. 16:40
- 지연 로딩과 조회 성능 최적화 - 주문 + 배송정보 + 회원을 조회하는 API 만들기 - 지연 로딩 때문에 발생하는 성능 문제 단계적 해결 간단한 주문 조회V1 : 엔티티를 직접 노출 package jpabook.jpashop.api; import jpabook.jpashop.domain.Order; import jpabook.jpashop.repository.OrderRepository; import jpabook.jpashop.repository.OrderSearch; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web...
-
[스프링부트/웹 애플리케이션 개발]API 개발 고급-1Spring&SpringBoot 2023. 1. 11. 16:01
- 조회용 샘플 데이터 입력 application.yml > jpa > ddl-auto :create 수정 spring: jpa: hibernate: ddl-auto: create properties: hibernate: # show_sql: true format_sql: true InitDb package jpabook.jpashop; import jpabook.jpashop.domain.*; import jpabook.jpashop.domain.item.Book; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.transaction.annotat..
-
[스프링부트/웹 애플리케이션 개발]회원 조회 APISpring&SpringBoot 2023. 1. 11. 15:08
application.yml > ddl-auto: none수정 spring: jpa: hibernate: ddl-auto: none properties: hibernate: # show_sql: true format_sql: true 회원 조회 API > MemberApiController > memberV1 @GetMapping("/api/v1/members") public List memberV1() { return memberService.findMembers(); } - 회원 정보만 원하는데 엔티티의 정보(orders) 모두가 외부에 노출 > @JsonIgnore 이용하면 해결 > 다른 API는? 문제 발생 - 엔티티에 프레젠테이션을 위한 로직(@JsonIgnore)이 추가되었다 - 엔티티가 변경..
-
[스프링부트/웹 애플리케이션 개발]API 개발 기본Spring&SpringBoot 2023. 1. 11. 14:13
- 포스트맨 설치 ( https://www.getpostman.com ) 회원 등록 API / MemberApiController - V1 package jpabook.jpashop.api; import jpabook.jpashop.domain.Member; import jpabook.jpashop.service.MemberService; import lombok.Data; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.w..
-
[스프링부트/웹 애플리케이션 개발] 상품 주문Spring&SpringBoot 2023. 1. 6. 14:23
상품 주문, OrderController package jpabook.jpashop.controller; import jpabook.jpashop.domain.Member; import jpabook.jpashop.domain.item.Item; import jpabook.jpashop.service.ItemService; import jpabook.jpashop.service.MemberService; import jpabook.jpashop.service.OrderService; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.spr..
-
[스프링부트/웹 애플리케이션 개발]변경 감지와 병합(merge)Spring&SpringBoot 2023. 1. 5. 17:16
변경 감지와 병합(merge) -준영속 엔티티란? 영속성 컨텍스트가 더는 관리하지 않는 엔티티를 말한다. EX. @PostMapping("/items/{itemId}/edit") public String updateItem(@ModelAttribute("form") BookForm form) { Book book = new Book(); book.setId(form.getId()); book.setName(form.getName()); book.setPrice(form.getPrice()); book.setStockQuantity(form.getStockQuantity()); book.setAuthor(form.getAuthor()); book.setIsbn(form.getIsbn()); itemServ..
-
[스프링부트/웹 애플리케이션 개발]회원 목록 조회, 상품 등록, 상품 목록, 상품 수정Spring&SpringBoot 2023. 1. 5. 16:27
회원 목록 조회, MemberController @Controller @RequiredArgsConstructor public class MemberController { private final MemberService memberService; @GetMapping("/members") public String list(Model model) { List members = memberService.findMembers(); model.addAttribute("members", members); return "members/memberList"; } } 상품 등록, BookForm package jpabook.jpashop.controller; import lombok.Getter; import lom..
-
[스프링부트/웹 애플리케이션 개발]홈 화면과 레이아웃, 부트스트랩 적용, 회원등록Spring&SpringBoot 2023. 1. 5. 15:26
controller package jpabook.jpashop; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class JpashopApplication { public static void main(String[] args) { Hello hello = new Hello(); hello.setData("hello"); String data = hello.getData(); //System.out.println("data = " + data); SpringApplication.run(..