저고데

[Spring Boot]12. 자주 보이는 어노테이션 총 정리! 본문

Spring Boot

[Spring Boot]12. 자주 보이는 어노테이션 총 정리!

진철 2024. 1. 2. 23:16
728x90
반응형
Core Annotations
  • @SpringBootApplication
  • @Configraution, @EnableAutoConfiguration, @ComponentScan과 같은 주요 어노테이션을 결합한다.
  • @Configuration
  • 클래스에 스프링 Bean 및 구성 로직이 포함되어 있음을 나타낸다.
  • @ComponentScan
  • 컨트롤러, 서비스 및 레포지토리와 같은 스프링 구성 요소에 대해 검색할 패키지를 지정한다.
  • @EnableAutoConfiguration
  • application.preperties 또는 application.yml 파일의 속성을 기반으로 스프링 부트 프로그램의 자동 구성을 활성화한다.
Controller Annotations
  • @RestController
  • 해당 클래스가 HTTP 요청을 처리하고 JSON, XML등과 같은 다양한 형식으로 응답을 반환하는 컨트롤러라고 표시한다.
  • @Controller
  • @RestController와 유사하지만, 응답을 뷰 형식으로 반환한다고 표시한다.
Service and Repository Annotations
  • @Service
  • 해당 클래스가 애플리케이션에 비즈니스 로직을 제공하는 서비스라고 명시한다.
  • @Repository
  • 해당 클래스가 응용 프로그램에 대한 데이터 접근을 제공하는 레포지토리라고 명시한다.
Dependency Injection Annotations
  • @Autowired
  • 생성자, 필드, setter 메서드에 관계 없이 의존성을 클래스에 주입한다.
Request Mapping Annotations
  • @RequestMapping
  • 컨트롤러의 특정 메서드를 제공된 엔드포인트에 매핑하여 다양한 HTTP 메서드(GET, POST, PUT, DELETE 등)를 지원한다. (@GetMapping과 @PostMapping의 기반이다.)
Data Handling Annotations
  • @RequestBody
  • HTTP 요청에서 본문을 추출하여 컨트롤러의 메서드 매개 변수에 바인딩한다.
  • JSON 또는 XML 형식의 데이터를 수신하여 Java 객체로 변환할 수 있다.
  • @ResponseBody
  • 메서드의 반환 값을 HTTP 응답에 기록하여 적절한 형식으로 변환한다.
Path Variable and Request Parameter Annoations
  • @PathVariable
  • URL의 URI 경로에서 값을 추출하고 이 값을 컨트롤러의 메서드 매개 변수에 바인딩한다.
  • @RequestParam
  • 요청의 URL에서 쿼리 매개 변수를 추출하고 이 매개 변수를 컨트롤러의 메서드 매개 변수에 바인딩한다.
Exception Handling Annoations
  • @Exception Handler
  • 특정 예외를 처리하는 메서드를 정의하고 해당 예외가 발생할 때 사용자 지정 응답을 반환할 수 있도록 제어한다.
  • @RestControllerAdvice
  • 여러 컨트롤러에서 예외를 관리할 수 있는 글로벌 예외 처리기를 만들어 전체 프로그램에 대한 예외 처리 로직을 집중화한다.
Other Useful Annotations
  • @Qualifier
  • 동일한 유형의 여러 빈이 존재할 때 특정한 Bean을 지정한다.
  • @Value
  • 스프링 구성 요소의 값을 스프링 빈에 주입한다.
  • @Profile
  • 응용 프로그램의 다양한 환경에 대한 프로파일을 정의한다.
  • @PostConstruct, @PreDestroy
  • 각각 빈이 구성된 후 및 파괴하기 전에 실행해야 하는 메서드를 지정한다.
  • @Async, @EnableAsync
  • Async은 메서드를 비동기식으로 표현하여 별도의 스레드에서 실행할 수 있도록 하고, EnableAsync은 비동기식 처리를 지원한다.
728x90
반응형