TIL

[24.08.15] java, spring Annotation 정리

DongHo 2024. 8. 15. 21:17

Spring Framework 기본적인 Annotation

  • Component : 특정 역할이 없는 기본 빈
  • Repository : DAO를 정의하며 DB와 상호작용을 처리하는 컴포넌트
  • Service : 비즈니스 로직(BL)을 처리하는 서비스층 컴포넌트
  • Controller : 웹 요청을 처리, 모델과 뷰를 연결하는 컨트롤러 계층 컴포넌트
  • Autowired : 빈을 자동으로 주입하여 의존성을 해결하는데 사용
  • NoArgsConstructor : 기본 생성자
  • AllArgsConstructor : 모든 필드값을 포함하는 생성자
  • Setter : 자동으로 모든 setter 메소드 만들기
  • Getter : 자동으로 모든 getter 메소드 만들기
  • ToString : 자동으로 toString 메소드 만들기
  • Configuration : 어노테이션이 붙어있지만 config로 분류된다.(빈을 정의하고 관리하는 클래스를 나타낸다.), 일반적으로 Bean 어노테이션과 함께 사용)
  • ComponentScan : 지정된 패키지 하위의 Spring 컴포넌트(Component, Service, Repository, Controller) 자동 검색
  • Bean : 메소드 등 여러 곳에 붙여 Spring 컨테이너에 의해 관리되는 Bean 생성하고 반환

 

Aop Annotation(?)(Aop라고 하는게 맞나?)

  • Aspect : 클래스를 Aspect로 정의
  • Pointcut : advice가 적용될 메서드나 join point 지정
  • Before Advice : 지정된 pointcut 의 메소드 실행 전 실행
  • After Advice : 지정된 pointcut 의 메소드 실행 후 실행
  • AfterReturning Advice : 지정된 pointcut 의 메소드 실행이 성공 후 반환값 처리
  • AfterThrowing Advice : 지정된 pointcut 의 메소드 실행 중 예외 처리
  • Around Advice : 지정된 pointcut 의 메소드 실행 전후 실행

 

Spring Boot

GET, POST Annotation

  • RequestMapping : 설정에 따라 달라지겠지만, 모든 요청 처리
  • GetMapping : GET 요청 처리
  • PostMapping : POST 요청 처리

Handler method Annotation

  • RequestMapping : HTTP Request(GET, POST 등)로 들어오는 url을 컨트롤러 클래스나 핸들러 메소드로 연결시키는 역할
  • SessionAttributes : 모델에서 특정 속성을 session을 저장하여 여러 요청에 걸쳐 해당 속성을 유지하도록 도와준다.
  • RequestParam : HTTP 요청 파라미터(querystring or form data)를 컨트롤러 메소드의 매개변수에 넣기 쉽게 도와주는 것
  • ModelAttribute : DTO를 초기화하거나, 요청 파라미터를 특정 객체에 바인딩할 때 사용(주로 form data를 객체로 매핑하는데 사용)
  • RequestBody : HTTP 요청의 body를 읽어와 컨트롤러 메소드의 파라미터 타입에 맞게 변환
  • RequestHeader : HTTP 요청 header 값을 컨트롤러 메소드의 매개변수에 바인딩하는데 사용
  • CookieValue : HTTP 요청의 쿠키 값을 컨트롤러 메소드의 매개변수에 바인딩하는데 사용