728x90 분류 전체보기152 9.웹 계층 개발 2(주문) 9.웹 계층 개발 2(주문) 목차 1.상품 주문 2.주문목록 검색, 취소 1.상품 주문 OrderController @Controller @RequiredArgsConstructor public class OrderController { private final OrderService orderService; private final MemberService memberService; private final ItemService itemService; @GetMapping("/order") public String createForm(Model model){ List members = memberService.findMembers(); List items = itemService.findItems();.. 2021. 1. 1. 8.변경감지 와 병합 8.변경감지 와 병합 1.준영속 엔티티 1.준영속 엔티티 영속성 컨텍스트가 더이상 관리하지 않는 엔티티 (준영속 상태 객체도 있다) 수정을 시도한 Book 엔티티 객체는 이미 DB에 한번 저장되어서 식별자가 존재 준영속 엔티티 를 수정하는 방법 1.변경감지는 트랜잭션안에서 값이 바뀌면 자동으로 Update 해준다 (더티체킹) 그리나서 커밋해준다 2.Merge 사용하기 1.변경감지 ItemService @Service @Transactional(readOnly = true) @RequiredArgsConstructor public class ItemService { private final ItemRepository itemRepository; @Transactional public void updateI.. 2021. 1. 1. 7.웹 계층 개발 1(회원,상품) 7.웹 계층 개발 1(회원,상품) 목차 1.홈 화면과 레이아웃 2.회원 등록 3.회원 목록 조회 4.상품 등록 5.상품 목록 6.상품 수정 1.홈 화면과 레이아웃 HomeController @Controller @Slf4j public class HomeController { @RequestMapping("/") public String home(){ log.info("home controller"); return "home"; } } @RequestMapping("/") : localhost:8080 -> home.html 이동한다 MemberForm @Getter @Setter public class MemberForm { @NotEmpty(message = "회원 이름은 필수 입니다") privat.. 2021. 1. 1. 3.스프링 핵심 원리 이해2 - 객체지향원리적용 3.스프링 핵심 원리 이해2 - 객체지향원리적용 목차 1.새로운 할인 정책 개발 2.관심사의 분리 3.좋은 객체지향 설계의 5가지 원칙 4.IoC,DI 그리고 컨테이너 5.스프링으로 전환하기 1.새로운 할인 정책 개발 RateDiscountPolicy (10%할인) public class RateDiscountPolicy implements DiscountPolicy { private int discountPercent=10; @Override public int discount(Member member, int price) { if(member.getGrade()== Grade.VIP){ return price * discountPercent/100; }else { return 0; } } } 고객이 .. 2021. 1. 1. 2.스프링 핵심 원리 이해1 - 예제만들기 2.스프링 핵심 원리 이해1 - 예제만들기 목차 1.회원 도메인 개발 2.회원 도메인 실행과 테스트 3.주문과 할인 도메인 개발 4.주문과 할인 도메인 실행과 테스트 1.회원 도메인 개발 Member 엔티티 public class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade) { this.id = id; this.name = name; this.grade = grade; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String ge.. 2020. 12. 31. 6.주문도메인개발 6.주문도메인개발 목차 1.주문 주문상품 엔티티 개발 2.주문 리포지토리 개발(Repository) 3.주문 서비스 개발(Service) 4.주문 기능 테스트 5.주문 검색기능 1.주문 주문상품 엔티티 개발 Order @Entity @Table(name = "orders") @Getter @Setter public class Order { //생성 매세드 생성이 바뀔때 이것만 변경 public static Order createOrder(Member member,Delivery delivery,OrderItem... orderItems){ Order order=new Order(); order.setMember(member); order.setDelivery(delivery); for (OrderItem.. 2020. 12. 30. 이전 1 ··· 18 19 20 21 22 23 24 ··· 26 다음 728x90