목록Spring (29)
mojo's Blog
상품 목록 상품 목록 버튼을 누르면 등록된 상품들이 화면에 나타나도록 구현해보자. 우선, 상품 목록 버튼을 누르면 /items 으로 매핑될 수 있도록 컨트롤러에 구현해보도록 한다. @GetMapping("/items") public String list(Model model) { List items = itemService.findItems(); model.addAttribute("items", items); return "items/itemList"; } 이제 templates 아래에서 items 패키지안에 itemList.html 을 생성하여 상품 목록을 받아와서 for - loop 형태로 각 상품들에 대한 정보들을 화면에 뿌릴 수 있게 해야 한다. 현재 item 테이블에 데이터가 아무것도 없는 경우..
홈 화면과 레이아웃 template 에 html 을 다음과 같이 설정한다. fragment bodyHeader.html footer.html header.html home.html home.html HELLO SHOP 회원 기능 회원 가입 회원 목록 상품 기능 상품 등록 상품 목록 주문 기능 상품 주문 주문 내역 fragments.header.html fragments.footer.html © Hello Shop V2 fragments.bodyHeader.html Home HELLO SHOP 실행 결과 밋밋한 결과가 나타난 것을 볼 수 있다. 이러한 밋밋함을 해결할 수 있도록 Bootstrap 사이트에 가서 Compiled CSS and JS 를 다운한다. Download · Bootstrap (getb..
주문, 주문상품 엔티티 개발 구현 기능 - 상품 주문 - 주문 내역 조회 - 주문 취소 순서 주문 엔티티, 주문 상품 엔티티 개발 주문 리포지토리 개발 주문 서비스 개발 주문 검색 기능 개발 주문 기능 테스트 Order 와 OrderItem 의 관계는 다음과 같다. Order 클래스 @Entity @Table(name = "orders") @Getter @Setter public class Order { @Id @GeneratedValue @Column(name = "order_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; @OneToMany(mappe..
상품 엔티티 개발(비즈니스 로직 추가) 구현 기능 - 상품 등록 - 상품 목록 조회 - 상품 수정 구현 순서 상품 엔티티를 개발(비즈니스 로직 추가) 상품 리포지토리를 개발 상품 서비스를 개발 상품 기능을 테스트 @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name = "dtype") @Getter public abstract class Item { ... /** * stock 증가 */ public void addStock(int quantity) { this.stockQuantity += quantity; } /** * stock 감소 */ public void removeStock(int quan..
회원 리포지토리 개발 구현 기능 - 회원 등록 - 회원 목록 조회 순서 - 회원 리포지토리 개발 - 회원 서비스 개발 - 회원 기능 테스트 @Repository public class MemberRepository { @PersistenceContext private EntityManager em; public void save(Member member) { em.persist(member); } public Member findOne(Long id) { return em.find(Member.class, id); } public List findAll() { return em.createQuery("select m from Member m", Member.class) .getResultList(); }..
구현 요구사항 ※ 구현해야 할 기능 회원 기능 - 회원 등록 - 회원 조회 상품 기능 - 상품 수정 - 상품 등록 - 상품 조회 주문 기능 - 상품 주문 - 주문 내역 조회 - 주문 취소 예제를 단순화 하기 위해 다음 기능은 구현하지 않음 - 로그인과 권한을 관리하지 않음 - 파라미터 검증과 예외 처리 단순화 - 상품은 도서만 사용함 - 카테고리는 사용하지 않음 - 배송 정보는 사용하지 않음 애플리케이션 아키텍처 계층형 구조를 사용 - controller, web : 웹 계층 - service : 비즈니스 로직, 트랜잭션을 처리 - repository : JPA 를 직접 사용하는 계층, 엔티티 메니저를 사용 - domain : 엔티티가 모여 있는 계층으로 모든 계층에서 사용 ※ 패키지 구조 jpabook..