현재까지 사용해 보았던 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에서 테스트 할 대상 표시
'개발 > 어노테이션' 카테고리의 다른 글
[Annotation] Lombok 어노테이션 정리 (0) | 2022.07.10 |
---|---|
Annotaion 의 정의 (0) | 2022.07.10 |