일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 김영한
- 백준
- pointcut
- jpa
- springdatajpa
- 그리디
- Exception
- AOP
- spring
- Proxy
- Android
- java
- Spring Boot
- Greedy
- http
- 알고리즘
- QueryDSL
- kotlin
- 스프링 핵심 기능
- transaction
- 자바
- JDBC
- JPQL
- Servlet
- SpringBoot
- 인프런
- 스프링
- db
- Thymeleaf
- 스프링 핵심 원리
- Today
- Total
목록스프링 부트 (5)
개발자되기 프로젝트
1. memberForm 회원 가입에서 넘어오는 회원 데이터 Entity와 분리 @NotEmpty를 통한 validation가능. empty일 경우 스프링이 error띄움. @Getter @Setter public class MemberForm { @NotEmpty(message = "회원 이름은 필수입니다.") private String name; private String city; private String street; private String zipcode; } 2. MemberController createForm - @GetMapping - 해당 Get method로 해당 url 접근하면 회원가입 화면으로 이동. - 빈 MemberForm들고감. --> validation에 활용. @Con..
1. 검색 기능. OrderSearch - OrderSearch에 검색 옵션을 지정가능. - 이름을 넣어서 검색할지, 주문 상태를 넣어서 검색할지. @Getter @Setter public class OrderSearch { private String memberName; //회원 이름으로 주문 검색 private OrderStatus orderStatus; //주문 상태로 주문 검색 } 회원 이름과 주문 상태 모두 입력되어 있으면 아래와 같이 JPQL을 작성하면 된다. public List findAll(OrderSearch orderSearch){ //order를 찾고, member와 join, join문? return em.createQuery("select o from Order o join o...
1. 테스트 요구사항 회원가입을 성공한다 회원가입할 대 같은 이름이 있으면 예외발생! 2. 회원 가입 테스트 @SpringBootTest, @RunWith --> Springboot띄우기 위해 필요(Junit4 기준) @Transactional : 반복적이고 독립적인 test를 위해 rollback @SpringBootTest @RunWith(SpringRunner.class) @Transactional //rollback public class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test public void 회원가입() throws Exceptio..
1. Member Service @Service : 컴포넌트 스캔 대상, 스프링 빈으로 등록 @Transactional : JPA의 모든 데이터 변경 및 로직은 transaction에서 실행되어야 함. - class에 적용되면 각 메서드마다 적용됨 - 메서드에 추가로 @Transactional이 있다면 메서드에 걸린게 우선순위 높음 - 조회 메서드는 가급적 readOnly = true를 적용하자. @GeneratedValue에 의해 DB마다 전략이 다르긴 하지만 id를 자동으로 생성함. - Persist 시점에 PK인 id는 DB에 저장되기 위해 필요함. - 즉 DB 에 반영되기 이전에도 Persist시점에 PK존재는 보장됨. //@Transactional //JPA의 모든 데이터 변경 및 로직은 tra..
1. 구현 기능 회원 등록 회원 목록 조회 2. MemberRepository @Repository : 컴포넌트 스캔 대상, 스프링 빈으로 등록 @PersistenceContext - JPA 표준 annotation - 스프링이 EntityManager 만들어서 주입해줌. PK로 찾지 않는경우(ex, findByName, findAll) - JPQL 사용해야함 - em.createQuery(JPQL, 조회타입).getResultList - name(parameter)으로 찾는 경우 setParameter(parameterName, parameterValue) 추가됨. - query에서 사용한 parameter와 name을 통해 binding 시켜줌. @Repository //스프링 빈으로 등록, 컴포넌트..