본문으로 바로가기

[Annotation] 정리하기

category 개발/어노테이션 2022. 7. 10. 17:14
728x90
현재까지 사용해 보았던 Annotation의 종류와 특징 정리하기
Spring Annotation입니다 (Lombox X)

@Configuration

Bean 설정을 담당하는 클래스를 만드는 어노테이션
@Configuration으로 지정된 클래스 속에 @Bean어노테이션을 동봉한 메소드 선언을 하면 스프링 빈을 정의하고 생명주기를 설정함

@Bean

bean을 정의하는 어노테이션

@ComponentScan

@Controller, @Service, @Repository, @Component 어노테이션이 붙은 클래스를 찾아 컨테이너에 등록

@Component

유틸, 기타 지원 클래스에 붙이는 어노테이션

@Autowired

주입 대상 bean을 찾아 주입하는 어노테이션

@Controller

Spring에게 해당 Class가 Controller의 역할을 한다고 명시하기 위해 사용하는 Annotation

@RestController

@Controller에 @Response Body가 추가 된것, Json형태의 데이터 반환이 이루어짐

@RequestHeader

Request의 Header값을 가져올 수 있으며 해당 Annotation을 쓴 메소드의 파라미터에 사용

@RequestMapping

@RequestMapping(value="")와 같은 형태의 어노테이션
요청받은 URI의 요청과 value의 값이 일치할 경우 헤당 클래스나 메소드 실행
Class단위에 사용하면 하위 메소드에 모두 적용
메소드에 적용시 해당메소드에 지정한 방식으로 URI 처리

@RequestParam

URL에 전달되는 파라미터를 메소드 인자와 매칭하여 처리하는 어노테이션
Json 형식의 Body를 MessageConverter를 통해 Java 객체로 변환

@RequestBody

Body에 전달되는 데이터를 메소드의 인자와 매칭시켜, 데이터를 받아서 처리할 수 있는  Annotation
클라이언트가 보내는 HTTP 요청 본문을 Java오브젝트로 변환

@ResponseBody

매소드에서 리턴되는 값이 View로 출력되지 않고 HTTP Response Body에 직접 쓰여짐
return 시 json, xml 같은 데이터 return

@GetMapping

RequesstMapping(Method=RequestMethod.GET) 과 같은 역할

@PostMapping

RequesstMapping(Method=RequestMethod.POST) 과 같은 역할

@PostConstruct

의존성 주입이 이루어진 후 초기화를 수행 하는 메소드 
생성자 호출시 빈은 초기화되지 않았기 때문에 의존성 주입이 끝나고 실행 보장으로 빈의 초기화에 대해 걱정하지 않음
bean의 생애주기에서 오직 한번만 수행의 보장 - bean이 여러번 초기화 되는 것을 방지 함

@Required

필수 프로퍼티를 설정, 코드 내에 프로퍼티 설정 매소드에 사용함

@Service

Service 레이어 클래스들에 사용하며 해당클래스가 서비스 레이어 클래스라는 것을 명확히 함

@Repository

해당 클래스가 Repository임을 명시

@SpringBootTest

Spring Boot Test 에 필요한 의존성 제공

@Test

JUnit에서 테스트 할 대상 표시

 

728x90

'개발 > 어노테이션' 카테고리의 다른 글

[Annotation] Lombok 어노테이션 정리  (0) 2022.07.10
Annotaion 의 정의  (0) 2022.07.10