본문 바로가기
2023/SPRING BOOT

[SPRING BOOT] 어노테이션(annotation)

by Or0i쿠 2023. 8. 18.

 

개발자가 더욱 쉽게 코드를 작성할 수 있도록 돕습니다.
→  스프링 부트에서 제공하는 어노테이션은 많은 기능을 적은 양의 코드로 구현할 수 있도록 돕습니다.
또한, XML 설정 없이 어노테이션 기반으로 스프링 컨테이너를 구성할 수 있습니다.
코드의 가독성을 높여주고 유지보수를 용이하게 합니다..
스프링 프레임워크의 기능을 쉽게 활용할 수 있습니다.
스프링 부트 어노테이션을 사용하면 스프링 프레임워크의 다양한 기능을 쉽게 활용할 수 있습니다.
예를 들어 @Autowired 어노테이션을 사용하면 의존성 주입(Dependency Injection)을 쉽게 구현할 수 있습니다.
어노테이션을 이용한 메타데이터를 이용해 다양한 기능을 구현할 수 있습니다.
→ 어노테이션을 사용하면 메타데이터를 쉽게 정의할 수 있습니다.
메타데이터는 실행 컨텍스트에서 프로그램의 구성 요소들을 나타내는 정보를 의미합니다.
스프링 부트에서는 이러한 메타데이터를 이용해 만들어진 어노테이션들로 다양한 기능들을 구현할 수 있습니다. 예를 들어, @GetMapping, @PostMapping 등의 어노테이션을 이용해 RESTful API를 쉽게 구현할 수 있습니다.
어노테이션
@SpringBootApplication @RestController @RequestMapping
스프링 부트에서 어플리케이션을 시작할 때, 이 어노테이션이 있는 클래스를 기준으로 컴포넌트 스캔(Component Scan)을 시작합니다. 컨트롤러 클래스에 사용되며, 해당 클래스를 RESTful 웹 서비스에서 사용할 수 있도록 해줍니다. 요청 URI와 해당 요청을 처리하는 메서드를 매핑합니다.
@GetMapping, @PostMapping, @PutMapping, @PatchMapping, @DeleteMapping @PathVariable @RequestBody
HTTP 메서드(GET, POST, PUT, PATCH, DELETE)와 요청 URI를 매핑합니다. URI의 일부를 매개 변수로 가져와서 메서드에 전달할 수 있도록 해줍니다. HTTP 요청 본문을 객체로 변환합니다.
@RequestParam @Autowired @Configuration
HTTP 요청에서 매개 변수를 추출합니다. 스프링 프레임워크에서 객체를 자동으로 주입하는 데 사용됩니다. 스프링의 설정 파일임을 나타내는 클래스에 사용됩니다.
@Bean @Service @Repository
IoC(Inversion of Control) 컨테이너에서 객체를 생성하고 구성합니다. 서비스 레이어(Service Layer)에 사용되며, 해당 클래스가 비즈니스 로직을 처리하는 서비스 클래스임을 나타냅니다. 데이터 액세스 레이어(Data Access Layer)에 사용되며, 해당 클래스가 데이터 액세스 로직을 처리하는 레파지토리 클래스임을 나타냅니다.
@Component @Scope  
스프링 IoC 컨테이너에서 빈(Bean)으로 등록되는 클래스임을 나타냅니다. 빈(Bean)의 범위(Scope)를 설정합니다.