Annotation 이란?
- 클래스와 메서드에 추가하여 다양한 기능을 부여하는 역할
Annotation 종류
@Bean
- 개발자가 제어가 불가능한 외부 라이브러리와 같은 것들을 Bean으로 만들 때 사용
@Component
- 개발자가 생성한 클래스를 Spring의 Bean으로 등록할 때 사용하는 Annotation
@Controller
- 해당 클래스가 Controller 역할을 한다고 명시하기 위해 사용
@RestController
- view가 필요없는 API만 지원하는 서비스에서 사용
@Service
- 해당 클래스가 Service 역할을 한다고 명시하기 위해 사용
@Repository
- DB에 접근하는 메서드를 가지고있는 클래스에서 사용
@Configuration
- @Configuration을 클래스에 적용하고 @Bean을 해당 클래스의 메서드에 적용하면 @Autowired로 Bean을 부를 수 있음
@Autowired
- 속성, setter method, constructor에서 사용하며 Type에 따라 알아서 Bean을 주입
- 스프링이 자동적으로 값을 할당
- Request의 header 값을 가져올 수 있음
@RequestMapping
- 요청 들어온 URI의 요청과 Annotation value값이 일치하면 해당 클래스나 메서드가 실행됨