서적 공부/스프링부트와 AWS로 혼자 구현하는 웹 서비스

Annotation 정리

요는 2022. 4. 4. 13:49

@SpringBootApplication

  • 스프링 부트의 자동설정, 스프링 Bean 읽기와 생성 모두 자동 설정 
  • 어노테이션 있는 위치부터 읽음 -> 항상 최상단에 위치

@RestController

  • JSON을 반환하는 컨트롤러로 만들어줌
  • @ResponseBody를 각 메소드마다 선언했던 것을 한번에 사용할 수 있게 해줌

@GetMapping

  • HTTP Method 인 Get의 요청을 받을 수 있는 API를 만들어줌
  • @GetMapping("/hello") -> /hello로 문자열 오면 return 해줌

@RunWith(SpringRunner.class)

  • 테스트 진행 시 JUnit 내장된 실행자 외 다른 실항자를 실행시킴
  • SpringRunner라는 스프링 실행자 사용
  • 스프링 부트테스트와 JUnit 사이 연결자 역할

@WebMvcTest

  • web에 집중할 수 있는 annotation
  • @Service, @Component, @Repository는 사용할 수 없음
  • @Controller, @ControllerAdvice등 사용 가능

@AutoWired

  • 스프링이 관리하는 bean 주입받음

@Getter

  • 선언된 모든 필드의 get메소드 생성
  • 클래스 내 모든 필드의 getter 메소드 자동생성

@RequiredArgsConstructor

  • final 붙은 애들에게 생성자 생성해줌

@RequestParam

  • 컨트롤러에서 data를 인자에 할당할 때 사용
  • @RequestParam("가져올 data 이름") datatype 가져올 data담을 변수
  • 외부에서 API로 넘긴 파라미터 가져옴

@RequestBody

  • 컨트롤러에서 data를 인자에 할당할 때 사용
  •  

@Entity

  • 테이블과 링크될 클래스임을 알림

@Id

  • 해당 테이블의 PK(Primary Key)필드를 나타냄

@GeneratedValue

  • PK생성 규칙 나타냄

@Column

  • 테이블 칼럼 나타냄( 선언하지 않아도 entity 클래스 필드는 모두 칼럼이 됨)
  • 기본값 외에 추가로 변경 필요하 옵션 있을 경우 사용

@NoArgsConstructor

  • 기본 생성자 자동추가

@Builder

  • 클래스의 빌더 패턴 클래스 생성

@After

  • 반복되는 준비 작업을 별도의 method에 넣고 테스트 호출 후 실행 test case 완료시 각각 호출