[스프링] 어노테이션 정리

Salki·2021년 1월 12일
0

스프링

목록 보기
1/1

스프링 기본 어노테이션 정리

  • @RestController

    • @Controller + @ResponseBody 를 합친 어노테이션으로 메소드의 반환 결과를 JSON 형태로 반환한다.
    • @Cotroller : api 와 view를 동시에 사용하는 경우에 사용, view return이 주 목적
    • @RestController : view가 필요없는 api만 지원하는 서비스에서 사용.
  • @RequestMapping

    • 요청 url을 어떤 메서드가 처리할 것인지 매핑해주는 어노테이션
    • 라우팅정보를 제공하며 선언한 경로의 값에 따라 HTTP 요청이 해당 메서드에 매핑되어야 하는 것을 스프링에 알림.
  • @GetMapping, PostMapping, DeleteMapping, PutMapping, PatchMapping

    • 기존에 사용하였던 RequestMapping에 속성을 지정해주지 않고 간단히 사용하는 어노테이션
  • @Service

    • 비즈니스 로직이 들어가는 Service 빈 등록
  • @Component

    • Component-scan을 선언에 의해 특정 패키지 안의 클래스들을 스캔하고, @Component 어노테이션이 있는 클래스에 대하여 bean 인스턴스를 생성한다.
  • @Controller, @Service, @Repository

    • @Component-구체화-> @Controller, @Service, @Repository
    • bean으로 등록
  • @Configuration

@Configuration
public class UserConfig {
 
    @Bean
    public User user() {
        return new User();
    }
}

@Component와 사용성을 위해 구분되어 일반적으로 위와같이 @Bean을 구성하는 Class임을 알려주는 명시적인 Component로써 사용되어짐.
추가 설정 클래스를 import하거나 컨텍스트안에 추가 빈 등록을 허용한다.
  • @SpringBootApplication
    • 하나의 @SpringBootApplication 어노테이션은 3가지 특징을 가능하게 하기위해 사용되어질 수 있다

      • @EnableAutoConfiguration: 스프링 부트의 auto-configuration 메카니즘을 가능하게 한다.
      • @ComponentScan: 어플리케이션이 위치되는 패키지상의 @Component 스캔을 가능하게 한다.
      • @Configuration: 추가 설정 클래스를 import하거나 컨텍스트안에 추가 빈 등록을 허용한다.

Lombok 어노테이션

  • @Getter, @Setter
    - 코드가 컴파일 될 때, Getter/Setter 메서드를 생성한다.
  • @NoArgsConstructor
    - 파라미터를 받지 않는 생성자를 만들어준다.
  • @AllArgsConstructor
    - 모든 속성에 대해서 생성자를 만들어준다.
  • @Data
    - @ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor를 합쳐 둔 어노테이션
  • @Builder
    - 빌더 패턴을 생성할 때 사용한다
profile
실력있는 개발자로 거듭나기까지..

0개의 댓글