2021년 12월 17일 기록

yshjft·2021년 12월 17일
0

하루 기록

목록 보기
1/16

접근 제한자(public & protected & default & private)

  • public
    클래스, 필드, 생성자, 메서드에 사용 가능
    모든 대상이 접근 가능

  • protected
    필드, 생성자, 메서드에 사용 가능
    같은 패키지 또는 자식 클래스에서만 접근 가능
    (자식클래스가 아닌 다른 패키지에 소속된 클래스에서는 접근 ❌)
    (평소에는 private 접근제어자가 붙은것 처럼 사용하지만 상속방은 자식클래스에서는 pulic으로 사용하고 싶은 경우 → protected를 사용하라!)

  • default
    클래스, 필드, 생성자, 메서드에 사용 가능
    같은 패키지에 소속된 클래스에서만 접근 가능

  • private
    필드, 생성자, 메소드에 사용 가능
    같은 클래스에서만 접근 가능

@Repository

  • DAO(Data Access Object, 실제로 DB에 접근하는 객체)이다.

  • EntitytManager를 사용하여 직접 구현할 수도 있지만 Spring Data Jpa를 통해(인터페이스) 편하게 사용할 수 도 있다

  • save: 전달된 데이터를 저장하는 경우
    저장될 내용을 Entity로 받아야 한다.
    (service layer에서 dto를 Entity로 변환하여 전달하자!)

@ModelAttribute VS @RequestBody

  • @ModelAttribute
    http 파라미터 내용을 java object로 변환, setter가 필요, query string 및 form 형식이 아닌 데이터 처리 불가능

  • json 형태의 http body 내용을 java object로 변환, @RequestBody를 사용할 객체는 기본 생성자가 필수

Logging

lombok을 이용하여 @Slf4j를 통해 쉽게 로그를 기록할 수 있다.(ex: log.info(),...)

  • 로깅 레벨
    trace < DEBUG < INFO < WARN < ERROR < FATAL < OFF
    (ex: WARN을 로그 레벨로 지정학 되면 WARN, ERROR, FATAL까지 로그가 찍히게 된다.)

참고

https://hiworldbye.tistory.com/15

profile
꾸준히 나아가자 🐢

0개의 댓글