반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백엔드
- IT
- 운영체제
- Elasticsearch
- DPDK
- 엘라스틱서치
- 캐시
- docker
- 네트워크
- 코딩테스트
- Kakao
- 카카오
- Java
- 리눅스
- 스프링부트
- 쿠버네티스
- 파이썬
- 알고리즘
- Linux
- Spring
- 도커
- 자바
- C
- 프로그래머스
- programmers
- 스프링
- Python
- springboot
- 프로그래머스 #카카오 #IT #코딩테스트
- 개발자
Archives
- Today
- Total
저고데
[Spring Boot]12. 자주 보이는 어노테이션 총 정리! 본문
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
반응형
'Spring Boot' 카테고리의 다른 글
[Spring Boot] 14. Optional에 대해여 (0) | 2024.01.21 |
---|---|
[Spring Boot]13. DAO, DTO (0) | 2024.01.17 |
[Spring Boot]11. 리엑티브에서의 테스트 코드와 디버깅 (0) | 2024.01.02 |
[Spring Boot]10. 배포를 해보자 (0) | 2024.01.01 |
[Spring Boot]9. 보안을 적용해보자 (0) | 2023.12.31 |