2022 09 21 - WIYA-waitinyourarea/wiya GitHub Wiki
1. 회원가입 과정에서 이메일 중복체크 버튼 구현 관련
- 컨트롤러에서 Service를 거쳐서 Repository 갈지, 바로 Repository로 갈지 고민.
- 회원가입 마지막 과정에서 submit 버튼을 누르면 중복검사를 하는 로직을 이미 구현해놓았으므로, 이메일 중복체크 버튼은 바로 Repository로 가는 걸로 구현.
- 일반적인 경우, 서비스 메서드를 호출할 때 하나의 트랜잭션 안에서 관리하기 위해서 서비스를 거치도록 구현한다. (db의 데이터를 변경하거나 삽입할 때, 중간에서 하나라도 문제가 발생하면 롤백이 이뤄져야 한다.)
2. Dirty Checking
- 더티 체킹 -> 상태 변화 검사
- JPA에서는 트랜잭션이 끝나는 시점에 변화가 있는 모든 엔티티 객체를 데이터베이스에 자동으로 반영 (save 메서드를 사용하지 않아도 자동으로 update쿼리 날려줌)
- 상태 변경 검사의 대상은 영속성 컨텍스트가 관리하는 엔티티에만 적용 되며, 값을 변경해도 데이터베이스에 반영되지 않도록 @Transactional(readOnly = true) 어노테이션 사용
3. 의존성 주입 ( 생성자 주입)
@RequiredArgsConstructor
private final
조합으로 컴파일 하면 => 필드위에 자동으로 @Autowired가 붙어서 의존성 주입이 된다.
4. @ResponseBody 사용 시 리턴자료형
- @ResponseBody 어노테이션을 사용하여, http응답 바디에 데이터를 넘길 때는 리턴자료형을 String으로 설정하는 것이 일반적이다.
5. @RequestParam , @RequestBody
- @RequestParam : 요청 파라미터
- @RequestBody : http요청 바디 부분