[Spring] Spring 어노테이션 정리

원알렉스·2020년 7월 17일
2

Spring

목록 보기
2/3
post-thumbnail

@RestController

  • @Controller@ResponseBody 를 합친 어노테이션으로 메소드의 반환 결과를 JSON 형태로 반환해줍니다.

@RequestMapping

  • 요청 URL을 어떤 메소드가 처리할 것인지 매핑해주는 어노테이션입니다.

@Bean

  • 스프링 컨테이너에 Bean을 등록하도록 해주는 어노테이션입니다.
  • @Bean
    • 개발자가 직접 제어 불가능한 외부 라이브러리를 Bean으로 등록하기 위해 사용됩니다.
  • @Component
    • 개발자가 직접 작성한 클래스를 Bean으로 등록하기 위해 사용됩니다.

@Autowired

  • 생성자나 setter 메소드 없이 의존성을 주입해서 자동으로 객체를 생성해주는 어노테이션입니다.

@Configuration

  • 해당 클래스가 환경 설정과 관련된 파일이라는 것을 알려주는 어노테이션입니다.
  • 해당 클래스에 정의된 @Bean이 적용된 메소드는 @Autowired를 통해서 부를 수 있습니다.

@ConfigurationProperties

  • 프로퍼티 파일을 읽어와서 해당 값들을 사용할 수 있게 만들어줍니다.

@Transactional

  • 해당 클래스 또는 메소드에 트랜잭션을 적용시켜 줍니다.
  • DB에 액세스하는 여러 연산들을 하나의 트랜잭션으로 처리하여 오류가 발생하면 자동으로 롤백 시켜 줍니다.

@Controller

  • Presentation Layer
  • 요청과 응답을 처리해주는 클래스에 사용됩니다.

@Service

  • Service Layer
  • 비즈니스 로직을 담당하는 클래스에 사용됩니다.

@Repository

  • Persistence Layer
  • DB에 액세스하는 클래스에 사용됩니다.

@ExceptionHandler

  • 컨트롤러 단에서 발생하는 예외를 잡아서 처리해주는 메소드에 사용됩니다.

@ControllerAdvice

  • 전역에서 발생하는 예외들을 잡아서 처리해주는 클래스에 사용됩니다.
profile
Alex's Develog 🤔

0개의 댓글