스프링에서 제공하는 주요 어노테이션 정리
단순 데이터 뭉치로 빈약한 설명, 부정확할 가능성 있음
컴포넌트 스캔 및 빈 등록 관련 어노테이션
- @Component : 일반적인 스프링 빈으로 등록할 때 사용
- @Service : 비즈니스 로직을 처리하는 클래스에 사용
- @Repository : DB와 연동되는 클래스에 사용
- @Controller, @Restcontroller : 웹 요청을 처리하는 클래스에 사용
의존성 주입(DI) 관련 어노테이션
- @Autowired : 필드, 생성자, 메소드에 의존성을 주입할 때 사용
- @Qualifier : 같은 타입의 여러 빈 중에서 특정 빈을 선택할 때 사용.
- @Inject / @Resource : DI를 위한 다른 방식의 어노테이션(Jakarta 및 JSR-330 표준)으로
@Autowired와 비슷한 역할을 수행한다.
트랜잭션 관리 및 데이터 접근 관련 어노테이션
- @Transactional : 메소드나 클래스에 트랜잭션 관리 기능을 적용할 때 사용
- @Entity, @Talbe : JPA 엔티티와 DB 테이블 매핑에 사용
AOP 및 횡단 관심사 처리 관련 어노테이션
- @Aspect : AOP 모듈을 정의할 때 사용.
- @Before, @After, @Around
- 메소드 실행 전, 후, 예외 발생 시 특정 로직을 수행하도록 설정
MVC와 웹 관련 어노테이션
- @RequestMapping, @GetMapping, @PostMapping
- HTTP 요청을 특정 메소드와 매핑할 때 사용 - @Pathvariable, @RequestParam
- 경로 변수와 요청 파라미터를 바인딩할 때 사용 - @ModelAttribute, @RequestBody
- 요청 데이터를 객체로 바인딩 할 때 사용
스프링 시큐리티 관련 어노테이션
- @PreAuthorize, @Secured
- 메소드 접근을 제한하고 권한 검사를 할 때 사용 - @EnableWebSecurity
- 스프링 시큐리티 설정을 활성화 할 때 사용
'java > Spring' 카테고리의 다른 글
JpaRepository에 정의되지 않은 메소드 사용법 (2) | 2024.11.19 |
---|---|
Spring Bean (2) | 2024.10.21 |
Spring Framework 기본 요소 개념 정리 (6) | 2024.10.21 |