Q. controller component springbootapplicatoion restcontroller 차이
A. @Controller, @Component, @SpringBootApplication, @RestController는 Spring Framework에서 사용되는 어노테이션입니다.
@Component는 Spring Framework에서 Bean으로 등록할 클래스를 표시하는 데 사용됩니다. 이 어노테이션이 지정된 클래스는 자동으로 스캔되어 Bean으로 등록됩니다.
@Controller는 Spring MVC 웹 애플리케이션에서 사용되는 어노테이션으로, HTTP 요청을 처리하고 HTTP 응답을 반환하는 컨트롤러 클래스를 지정하는 데 사용됩니다. 이 어노테이션이 지정된 클래스는 @RequestMapping 등의 다른 MVC 어노테이션과 함께 사용됩니다.
@SpringBootApplication은 Spring Boot 애플리케이션에서 사용되는 어노테이션으로, Spring Boot 애플리케이션의 시작점을 지정하는 데 사용됩니다. 이 어노테이션이 지정된 클래스는 main() 메서드가 포함되어야 하며, @EnableAutoConfiguration, @ComponentScan 등의 다른 Spring Boot 어노테이션을 포함합니다.
@RestController는 Spring MVC 웹 애플리케이션에서 @Controller 어노테이션과 유사하게 HTTP 요청을 처리하고 HTTP 응답을 반환하는 컨트롤러 클래스를 지정하는 데 사용됩니다. 이 어노테이션이 지정된 클래스는 @RequestMapping, @GetMapping, @PostMapping 등의 다른 RESTful 웹 서비스 어노테이션과 함께 사용됩니다.
간단히 말해, @Component는 일반적인 Spring Framework의 Bean 등록을 위한 어노테이션입니다. @Controller는 Spring MVC 웹 애플리케이션에서 사용되는 어노테이션입니다. @SpringBootApplication은 Spring Boot 애플리케이션에서 사용되는 어노테이션입니다. @RestController는 Spring MVC 웹 애플리케이션에서 RESTful 웹 서비스를 위한 어노테이션입니다.