스프링 어노테이션
- == Spring 프레임워크에서는 제공하는 어노테이션은 종류별 기능이 다릅니다.
1. @Component: Spring의 컴포넌트 스캔을 활용하여 해당 클래스를 빈(Bean)으로 등록하는 역할을 합니다.
2. @Controller: Spring MVC에서 사용되며, 해당 클래스가 웹 애플리케이션의 컨트롤러임을 나타냅니다. 사용자 요청 처리 및 응답 반환 메소드를 포함합니다.
3. @Service: 비즈니스 로직을 수행하는 서비스 클래스임을 나타냅니다. 주로 트랜잭션 관리, 비즈니스 규칙 구현 등의 역할을 수행합니다.
4. @Repository: 데이터 액세스 계층의 클래스에 적용됩니다. 주로 DB 상호 작용을 담당하는 DAO(Data Access Object) 클래스에 표시합니다.
5. @Autowired: 의존성 주입(Dependency Injection)을 위해 사용됩니다. 해당 어노테이션이 선언된 필드, 생성자, 메소드 매개변수 등에 해당하는 의존성을 자동으로 주입합니다. 스프링 4.3 이후부터는 안써도 자동 적용.
6. @RequestMapping: Spring MVC에서 사용되며, 해당 메소드 또는 클래스가 처리해야 할 요청 URL과 HTTP 메소드를 지정합니다. 클라이언트의 요청을 매핑하여 해당 메소드를 실행하고 응답을 반환합니다.
7. @RestController: @Controller와 @ResponseBody를 결합한 것으로, JSON 또는 XML 형태의 데이터를 반환하는 RESTful 웹 서비스 컨트롤러를 나타냅니다.
8. @Configuration: 해당 클래스가 Spring의 설정 클래스임을 나타냅니다. 주로 Java Config 방식을 사용하여 스프링 빈과 설정을 정의하는 클래스에 적용됩니다.