항해99/스프링 숙련

숙련3 - AOP, 예외처리, Transaction

숲별 2022. 10. 11. 00:28
728x90

Optional

1.8부터 적용

Null 값 처리 하기 위한 편의기능 많이 제공.

 

@RestController : JSON 형태로 반환

@Autowired : Repository와 연동

 

@Secured 관리자 권한이 있는 사용자만 접근할 수 있도록 옵션을 줘서 처리

getAllApiUseTIme이라는 메소드에 일반 사용자는 접근하지 못하고 admin

 

 

 

AOP (Aspect Oriented Programming, 관점지향 프로그래밍) 를 통해 부가기능을 모듈화

  • '핵심기능': 각 API 별 수행해야 할 비즈니스 로직
  • ex) 상품 키워드 검색, 관심상품 등록, 회원 가입, 관심상품에 폴더 추가, ....

 

  • '부가기능': 핵심기능을 보조하는 기능
  • ex) 회원 패턴 분석을 위한 로그 기록, API 수행시간 저장
  • **'부가기능'**은 '핵심기능'과는 관점(Aspect), 관심이 다름
  • 따라서 '핵심기능'과 또옥~!! 분리해서 '부가기능' 중심으로 설계, 구현 가능

 

 

부가기능을 어드바이스

부가기능 적용위치를 포인트컷

 

  1. Aspect: Advice + PointCut
  2. Advice: 어떤 부가기능을 언제?
  3. PointCut: 부가기능 적용 위치. 어느 패키지/메서드에?