일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- spring
- pypy3
- c#
- 소수찾기
- Python
- 합 구하기
- appendleft
- 인프런
- C#강의
- 1일1솔
- DP
- JPA
- 누적합
- 백준
- mvc
- 연관관계
- LCM
- python3
- 그리디 알고리즘
- 우선순위큐
- 프로그래머스
- BFS
- unity
- popleft
- 완전탐색
- 파이썬
- Java
- 브루투포스
- 소수판별
- deque
- Today
- Total
목록분류 전체보기 (139)
jae_coding

목차 상품 엔티티 비지니스로직 추가하기 상품 Repository 상품 Service 1. 상품 엔티티 비지니스 로직 추가하기 package jpabook.jpashop.domain.Item; import jpabook.jpashop.domain.Category; import jpabook.jpashop.exception.NotEnoughStockException; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter //상속관계 전략 @Inheritance(strategy = InheritanceT..

목차 회원 도메인 회원 Repository 회원 Service 회원 Service Test 회원 Service Test 검증 1. 회원 도메인 package jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String name; @Embedded private Address addre..

목차 계층형 아키텍쳐 개발 순서 1. 계층형 아키텍쳐 웹계층: Controller, Web 비지니스 로직, 트랜잭션 처리: Service JPA, 엔티티 매니저를 사용해서 데이터를 접근: Repository 엔티티가 모여있는 계층, 모든 계층에서 사용: Domain 2. 개발 순서 Service, Repository 개발 후 Test Case를 이용하여 검증 마지막으로 웹계층을 이용하여 적용시킨다. 회원 도메인 개발 상품 도메인 개발 주문 도메인 개발 웹 계층 개발 API 개발

목차 Setter를 가급적 사용하지 말자 즉시로딩 vs 지연로딩 컬렉션 필드는 초기화를 시켜라 테이블명, 컬럼명 규칙 1. Setter를 가급적 사용하지 말자 실무에서는 Setter를 너무 많이 사용하게되면, 변경 포인트가 너무 많기 때문에 유지 보수가 어렵다. 엔티티 수정이 어떻게 되는지 파악하기가 어렵다. (나중에 변경해어야될때, 모든 엔티티를 보면서 유지보수를 해야하기 때문에 Setter을 줄어야한다)-> Getter는 열고 Setter는 닫아야한다. 2. 즉시로딩 vs 지연로딩 즉시로딩('EAGER') 위 상황에서 member를 조회할 때, 연관된 order를 한번에 조회한다. 그리고 order를 조회할때, 필요한 것을 모두 조회한다는 것이다. 이 경우에 어떤 attribute를 조회할 때, 연관..

목차 설계 회원 엔티티 주문 엔티티 주문상태 상품주문 엔티티 상품 엔티티 상품 하위 엔티티 (BOOK, ALBUM, MOVIE) 배송 엔티티 배송상태 카테고리 엔티티 주소 테이블 생성화면 실무 개발 팁 0. 설계 Domain model & table Analysis member entity Analysis member table 1. 회원 엔티티 package jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter public class Member { @I..

목차 H2 Databae 다운로드 및 설치 DB 파일 생성하기 DB 연결 환경설정 DB 확인 및 테스트 1. H2 Database 다운로드 및 설치 h2 database 홈페이지 여기서 본인의 OS에 맞는 버전을 다운로드를 받는다. 2. DB파일 생성하기 terminal에서 h2다운로드 경로로 들어가서 h2.sh을 실행시켜준다. 초기 jpashop이라는 이름으로 db파일을 생성시켜준다. (지정된 경로에 jpashop.mv.db파일 생성완료) 그 뒤에부터 tcp소켓 통신을 이용하여 database에 접근하여 주면 끝! 접속화면 이런식으로 H2 Database환경설정은 끝입니다 ! 감사합니다. 3. DB 연결 환경설정 application.properties 파일을 지우고 본 프로젝트는 application..

목차 Thymeleaf Static Page Template Page 1. Thymeleaf 템플릿 엔진 사용 thymeleaf 공식 사이트 스프링 공식 튜토리얼 스프링부트 메뉴얼 Thymeleaf의 장점: 웹 브라우저에서 열린다. (다른 템플릿은 하지 못한다!) 2. Static Page resources > static > index.html 생성 Hello hello 실행화면 (localhost:8080) Controller를 거쳤을 때, Getmapping이 되지 않았을 때, Static의 index.html실행 3. Template Page HelloController class package jpabook.jpashop; import org.springframework.stereotype.Co..

목차 스프링 부트 스타터 Build.Gradle Preference Jpashopapplication실행 JpashopapplicationTest실행 Lombok Test 1. 스프링 부트 스타터 스프링부트 홈페이지 -. Project: Gradle -. Language: Java -. Spring Boot: 안정화된 최신버전 (저의 경우는 2.7.3) -. Group: jpabook -. Artifact: jpashop -. Dependencies: Spring Web, Thymeleaf, Spring Data JPA, H2 Database, Lombok -. Packaging: Jar -. Java: 18 Generate 후 원하시는 파일경로로 변경 후 IntelliJ에서 open > gradle 하..

Project 생성 -. Gradle 추가시키기 -. hello.html추가시키기 -. Controller를 Getmapping 이용하기 @GetMapping("/hello") -. Port번호 변경시키기 (application.properties) 저의 경우에는 8081 포트 이용 server.port=8081 -. url이동 localhost:8081/hello?name=name Build.gradle plugins { id 'org.springframework.boot' version '2.7.3' id 'io.spring.dependency-management' version '1.0.13.RELEASE' id 'java' } group = 'spring' version = '0.0.1-SNAPS..

1. MVC model, view, controller의 약자로 3가지의 역할로 구분한 개발 방법론. 1) model: 데이터를 가진 객체로서, 모델의 상태 변화에 따라 컨트롤러와 뷰에게 전달해줌. 2) view: 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 가져오는 것. 3) controller: 사용자가 접근한 Url의 데이터를 파악하여 model에 전달한 후 view에서 반영하여 사용자에게 보여줌. 그림1 2. 템플릿 엔진 내장 서버인 톰켓 서버에서 static보다 우선 순위가 높은 controller를 거쳐 key 값이 있다면 Controller내의 key.html을 출력하게 된다. 그렇기 때문에 예제에서 hello-mvc가 Key이기 때문에 param을 통해서 localhost:{por..