JAVA/Spring

Java 기반 컨테이너 설정방법 (Spring 어노테이션 활용)

min민 2023. 3. 13.

 

 

 

1️⃣ Java 기반 컨테이너 설정방법 (어노테이션 활용)

Java 기반의 컨테이너 설정 방법 중 어노테이션을 활용한 것은 스프링 프레임워크에서 제공하는 애노테이션 기반의 설정 방법이다.

 

 

2️⃣ 스프링 프레임워크에서는 아래와 같은 어노테이션들을 제공한다.

 

 

  • @Component: 해당 클래스를 빈으로 등록.
  • @Repository: DAO(Data Access Object) 클래스를 빈으로 등록.
  • @Service: 서비스 클래스를 빈으로 등록.
  • @Controller: 컨트롤러 클래스를 빈으로 등록.
  • @RestController: RESTful 웹 서비스를 처리하는 컨트롤러 클래스를 빈으로 등록.
  • @Configuration: 설정 클래스를 나타내며, 빈을 등록하고 설정하는 메서드를 포함.
  • @Bean: 해당 메서드가 빈을 반환하는 메서드임을 나타낸다.
  • @Autowired: 빈 간의 의존성을 자동으로 주입.
  • @Qualifier: 같은 타입의 빈이 여러 개인 경우, 어떤 빈을 사용할지 지정.
  • @Value: 프로퍼티 값을 주입.
  • @Profile: 빈을 활성화할 프로파일을 지정.
  • @Scope: 빈의 스코프를 지정.
  • @RequestMapping: 요청 URL과 매핑할 메서드를 지정.
  • @PathVariable: 요청 URL에서 경로 변수를 추출.
  • @RequestParam: 요청 파라미터를 추출.
  • @RequestBody: 요청 본문을 객체로 변환.
  • @ResponseBody: 메서드가 반환하는 객체를 응답 본문으로 변환.
  • @ResponseStatus: 응답 상태 코드를 지정.
  • @ExceptionHandler: 예외 처리 메서드를 지정.
  • @Async: 비동기적으로 메서드를 실행.

 

 

위에 어노테이션들을 사용하여 빈을 등록하고, 의존성을 주입하는 등의 설정을 할 수 있다.

예를들어 @Service( @Service: 서비스 클래스를 빈으로 등록 ) 어노테이션을 사용하여 UserService 클래스를 빈으로 등록하고, @Autowired ( @Autowired : 빈 간의 의존성을 자동으로 주입. ) 어노테이션을 사용하여 userRepository 빈을 주입할 수도 있다.

 

↓ 아래 예시 코드

 

@Service
public class UserService {
 
    @Autowired
    private UserRepository userRepository;

}

 

위의 코드에서는 @Service 어노테이션은 UserService 클래스를 빈으로 등록하며, @Autowired 어노테이션은 userRepository 빈을 주입하게 된다.

 

 

3️⃣ 스프링 MVC관련 어노테이션

 

그 외에

  • @RequestMapping: 요청 URL과 매핑할 메서드를 지정.
  • @PathVariable: 요청 URL에서 경로 변수를 추출.
  • @RequestParam: 요청 파라미터를 추출.
  • @RequestBody: 요청 본문을 객체로 변환.
  • @ResponseBody: 메서드가 반환하는 객체를 응답 본문으로 변환.
  • @ResponseStatus: 응답 상태 코드를 지정.
  • @ExceptionHandler: 예외 처리 메서드를 지정.
  • @Async: 비동기적으로 메서드를 실행.

와 같은 어노테이션들은 스프링 MVC와 관련된 것들이다.

 

 

#️⃣ point

  1. 위의 어노테이션들을 사용하여 스프링 애플리케이션을 구성할 수 있다.
  2. 스프링은 이러한 어노테이션들을 기반으로 빈을 등록하고 의존성을 주입하는 등의 설정을 자동으로 처리할 수 있다.
  3. 이러한 기능은 스프링의 핵심 기능 중 하나로, 스프링 애플리케이션 개발을 더욱 쉽고 편리하게 만들어 주게된다.

 

 

 

 

댓글