Bean으로 만들어주는 것
- @Componenet : 클래스를 Bean으로 등록
- @Repository : @Component + DAO 관련 장점 (unchecked 예외 처리)
- @Service : @Component + 서비스 레이어 명시
- @Controller : @Componenet + 컨트롤러에서 사용할 어노테이션
에러처리
@ControllerAdvice
에러를 한 곳에서 처리(각각의 Controller의 에러 처리 로직은 비슷비슷 할 것이기 때문)
@Restcontrolleradvice = @ControllerAdvice + @ResponseBody
@ExceptionHandler
@Controller, @RestController의 Bean에서 발생한 예외를 잡아서 한 메서드에서 처리
인자로 캐치하고 싶은 예외 클래스 등록
여러개도 가능
- e.g. )
@ExceptionHandler({ Exception1.class, Exception2.class })
- e.g. )
@ResponseStatus
- Controller나 Exception의 return에 status 정보를 설정하여 리턴해줌.
API call에서
- @RequestParam
- Get mapping에서 url의 parameter를 받음
- @RequestBody
- post mapping에서 Body로 받을 때
JPA 관련
@Id
직접 할당을 원한다면 @Id에 set
직접 할당 아니라면 자동 생성(
@GeneratedValue
), 전략 네 가지 중 하나 선택
@GeneratedValue
- Generate 방식에는 네가지 전략 존재
- IDENTITY
- 기본 키 생성을 DB에 위임(DB에 의존적)
- DB에 값을 저장한 후 기본 키 값을 얻을 수 있다.
- SEQUENCE
- 시퀀스를 이용해 기본 키 할당(DB 의존)
- TABLE
- 키 생성 테이블을 사용하는 방법 - 모든 DB 적용 가능
- 테이블에 이름과 값으로 사용할 컬럼을 만드는 방법
- AUTO
- DB에 따라 알아서 하나 선택해주는 방법
- IDENTITY
- Generate 방식에는 네가지 전략 존재
Reference)
https://coding-start.tistory.com/71
https://ithub.tistory.com/24