본문 바로가기
java/Spring

Spring Annotation 컨닝페이퍼

by 포잉띠 2024. 10. 21.

스프링에서 제공하는 주요 어노테이션 정리

단순 데이터 뭉치로 빈약한 설명, 부정확할 가능성 있음

컴포넌트 스캔 및 빈 등록 관련 어노테이션

  1. @Component : 일반적인 스프링 빈으로 등록할 때 사용
  2. @Service : 비즈니스 로직을 처리하는 클래스에 사용
  3. @Repository : DB와 연동되는 클래스에 사용
  4. @Controller, @Restcontroller : 웹 요청을 처리하는 클래스에 사용

의존성 주입(DI) 관련 어노테이션

  1. @Autowired : 필드, 생성자, 메소드에 의존성을 주입할 때 사용
  2. @Qualifier : 같은 타입의 여러 빈 중에서 특정 빈을 선택할 때 사용.
  3. @Inject / @Resource : DI를 위한 다른 방식의 어노테이션(Jakarta 및 JSR-330 표준)으로
    @Autowired와 비슷한 역할을 수행한다.

트랜잭션 관리 및 데이터 접근 관련 어노테이션

  1. @Transactional : 메소드나 클래스에 트랜잭션 관리 기능을 적용할 때 사용
  2. @Entity, @Talbe : JPA 엔티티와 DB 테이블 매핑에 사용

AOP 및 횡단 관심사 처리 관련 어노테이션

  1. @Aspect : AOP 모듈을 정의할 때 사용.
  2. @Before, @After, @Around
    - 메소드 실행 전, 후, 예외 발생 시 특정 로직을 수행하도록 설정

MVC와 웹 관련 어노테이션

  1. @RequestMapping, @GetMapping, @PostMapping 
    - HTTP 요청을 특정 메소드와 매핑할 때 사용
  2. @Pathvariable, @RequestParam
    - 경로 변수와 요청 파라미터를 바인딩할 때 사용
  3. @ModelAttribute, @RequestBody
    - 요청 데이터를 객체로 바인딩 할 때 사용

스프링 시큐리티 관련 어노테이션

  1. @PreAuthorize, @Secured
    - 메소드 접근을 제한하고 권한 검사를 할 때 사용
  2. @EnableWebSecurity
    - 스프링 시큐리티 설정을 활성화 할 때 사용

 

 

'java > Spring' 카테고리의 다른 글

JpaRepository에 정의되지 않은 메소드 사용법  (2) 2024.11.19
Spring Bean  (2) 2024.10.21
Spring Framework 기본 요소 개념 정리  (6) 2024.10.21