본문 바로가기

SpringBoot

SpringBoot - 주요 어노테이션

반응형

1. 어노테이션(annotation)이란?

스프링부트(Spring Boot)에서는 어노테이션(annotation)을 사용하여 애플리케이션을 설정하고, 관리한다. 어노테이션을 이용하면 빠르고 간편하게 애플리케이션을 구성할 수 있다.

2. 주요 어노테이션

1) @ComponentScan
스프링 프레임워크에서 컴포넌트 스캔(Component Scan)을 수행할 때 사용하는 어노테이션이다.

컴포넌트 스캔(Component Scan)은 스프링이 빈으로 등록할 클래스를 찾아서 자동으로 빈으로 등록해주는 기능이다. 보통 @Controller, @RestController, @Service, @Repository, @Configuration, @Component, @Bean 와 같은 어노테이션이 붙은 클래스를 찾아서 빈으로 등록한다. @ComponentScan 어노테이션을 사용하면 어느 패키지부터 컴포넌트 스캔을 수행할 것인지 설정할 수 있다.

 

SpringBoot - @ComponentScan 이해

1. 기능 스프링 프레임워크에서 컴포넌트 스캔(Component Scan)을 수행할 때 사용하는 어노테이션이다. 컴포넌트 스캔(Component Scan)은 스프링이 빈으로 등록할 클래스를 찾아서 자동으로 빈으로 등록

hokeng92.tistory.com

2) @Service
@Service 어노테이션은 비즈니스 로직을 처리하는 서비스 클래스를 선언할 때 사용한다. 이 어노테이션을 사용하면 해당 클래스를 빈(bean)으로 등록하며, 컴포넌트 스캔(component scan)을 통해 자동으로 빈으로 등록된다.

3) @Repository
@Repository 어노테이션은 데이터 엑세스 로직을 처리하는 DAO(Data Access Object) 클래스를 선언할 때 사용한다. 이 어노테이션을 사용하면 해당 클래스를 빈(bean)으로 등록하며, 컴포넌트 스캔(component scan)을 통해 자동으로 빈으로 등록된다. 주로 DB와의 연결을 맺어 데이터를 CRUD(Create, Read, Update, Delete)하는 클래스에서 사용된다.

 

Spirngboot - @Repository 기능

1. 정의 스프링 어노테이션 Repository는 스프링 프레임워크에서 데이터 액세스를 처리하는 데 사용되는 어노테이션이다. Repository는 데이터베이스와의 상호작용을 추상화하고, 개발자가 데이터 액

hokeng92.tistory.com

4) @Configuration
@Configuration 어노테이션은 스프링 프레임워크에서 설정 파일을 작성할 때 사용한다. 이 어노테이션을 사용하면 해당 클래스가 스프링 설정 파일임을 알리고, 빈(bean)으로 등록한다. 또한, @Bean 어노테이션을 사용하여 직접 빈(bean)을 등록할 수 있다. 이렇게 등록된 빈(bean)은 DI(Dependency Injection)을 통해 다른 클래스에서 사용될 수 있다.

5) @SpringBootApplication
스프링부트 애플리케이션을 구동하기 위한 최상위 어노테이션이다. 이 어노테이션을 붙인 클래스가 위치한 패키지 이하에 있는 컴포넌트들을 스캔하여 빈으로 등록하고, 내장형 웹 서버를 구동한다.

6) @RestController
RESTful 웹 서비스에서 요청을 처리하는 컨트롤러 역할을 하는 클래스를 선언할 때 사용하는 어노테이션이다. @Controller 어노테이션과 @ResponseBody 어노테이션을 합친 것과 같은 기능을 한다.

 

SpringBoot - @Controller, @RestController 비교

@Controller, @RestController 비교 1. 기능 RESTful 웹 서비스에서 요청을 처리하는 컨트롤러 역할을 하는 클래스를 선언할 때 사용하는 어노테이션이다. Controller는 @ResponseBody를 이용하여 Return값을 받아야

hokeng92.tistory.com


7) @RequestMapping
HTTP 요청 URL과 특정 메서드를 매핑할 때 사용하는 어노테이션이다. 요청 URL을 매핑하는 것 외에도, HTTP 요청 방식(GET, POST 등)에 따라 매핑할 메서드를 선택할 수 있다.

 

SpringBoot - @RequestMapping 활용

1. 용도 HTTP 요청 URL과 특정 메서드를 매핑할 때 사용하는 어노테이션이다. 요청 URL을 매핑하는 것 외에도, HTTP 요청 방식(GET, POST 등)에 따라 매핑할 메서드를 선택할 수 있다. 2. RequsetMapping 이용 p

hokeng92.tistory.com


8) @Autowired
의존성 주입(Dependency Injection)을 할 때 사용하는 어노테이션이다. 이 어노테이션을 사용하면, 스프링이 알아서 해당 타입의 빈을 찾아 의존성을 주입한다.

 

SpringBoot - @Autowired 이해

1. 정의 Spring 프레임워크에서 **@Autowired**는 객체 의존성을 자동으로 주입하는 기능을 제공하는 어노테이션이다. 스프링의 IoC (Inversion of Control) 컨테이너는 빈(Bean)을 관리하고 런타임 시에 객체

hokeng92.tistory.com


9) @Value
프로퍼티 값을 주입할 때 사용하는 어노테이션이다. application.properties 파일에 정의된 프로퍼티 값을 가져와서, 해당 필드에 주입한다.


10) @Slf4j
‘System.out.prinln( )’ 이용 시, 세부적인 내용까지 확인이 어렵고, 기록이 불가능하기 때문에 로그를 사용하여 세부 내용 및 발생 지점 등을 확인하여 개발 효율성을 높일 수 있다.

 

SpringBoot - @Slf4j 이해

1. 로그 레벨 로그 레벨(Log Level)은 로그 메시지의 중요도에 따라 분류한 것으로, 각각의 레벨은 다음과 같은 의미를 가진다. (1) TRACE 가장 상세한 로그 레벨로, 디버깅 용도로 사용된다. 일반적으

hokeng92.tistory.com


11) @EnableAutoConfiguration
자동 구성 기능을 활성화하는 어노테이션이다. 스프링부트는 애플리케이션 실행 시 자동으로 빈을 생성하고 구성하는데, 이를 자동 구성이라고 한다. 이 어노테이션을 사용하면 자동 구성 기능을 활성화할 수 있다.


12) @Transactional
트랜잭션 처리를 위한 어노테이션이다. 이 어노테이션이 붙은 메서드는 트랜잭션 처리가 되며, 실행 중 예외가 발생하면 롤백된다.

 


반응형