Spring의 @Controller 어노테이션은 스프링 MVC 프레임워크에서 사용되는 어노테이션 중 하나입니다. @Controller 어노테이션은 클래스 레벨에서 사용되며, 해당 클래스가 스프링 MVC에서 컨트롤러 역할을 한다는 것을 나타냅니다. 컨트롤러는 HTTP 요청에 대한 응답을 생성하고 전송하는 작업을 담당합니다.
다음은 @Controller 어노테이션을 사용한 간단한 예제입니다.
@Controller
public class HomeController {
@RequestMapping("/")
public String home() {
return "home";
}
}
위의 코드에서 HomeController 클래스는 @Controller 어노테이션을 사용하여 스프링 MVC 컨트롤러임을 나타냅니다. @RequestMapping("/") 어노테이션은 이 클래스의 home() 메서드가 / 경로로 들어오는 HTTP GET 요청에 응답한다는 것을 나타냅니다. home() 메서드는 "home" 문자열을 반환합니다.
보시다시피, @Controller 어노테이션을 사용하여 스프링 컨트롤러를 정의하면 해당 클래스의 인스턴스가 스프링 컨테이너에 등록되며, 이 인스턴스는 요청에 대한 처리를 수행합니다.
@Controller 어노테이션은 @RestController 어노테이션과 함께 사용될 수도 있습니다. @RestController 어노테이션은 컨트롤러에서 반환하는 값이 뷰를 통해 렌더링되지 않고, HTTP 응답 본문으로 직접 반환됨을 나타냅니다.
다음은 @Controller와 @RestController 어노테이션을 사용한 예제입니다.
@Controller
public class HomeController {
@RequestMapping("/")
public String home() {
return "home";
}
}
@RestController
public class RestfulController {
@GetMapping("/api/hello")
public String hello() {
return "Hello, World!";
}
}
위의 코드에서 HomeController 클래스는 @Controller 어노테이션을 사용하여 스프링 MVC 컨트롤러를 정의하고, RestfulController 클래스는 @RestController 어노테이션을 사용하여 RESTful 웹 서비스의 컨트롤러를 정의합니다. RestfulController 클래스의 hello() 메서드는 /api/hello 경로로 들어오는 HTTP GET 요청에 응답하며, "Hello, World!" 문자열을 반환합니다. 이 문자열은 뷰를 통해 렌더링되지 않고, HTTP 응답 본문으로 직접 반환됩니다.
'Spring' 카테고리의 다른 글
Spring Annotation 6. @Autowired (0) | 2023.04.19 |
---|---|
Spring Annotation 5. @RequestParam (0) | 2023.04.19 |
Spring Annotation 4. @PathVariable (0) | 2023.04.19 |
Spring Annotation 3. @ResponseBody (0) | 2023.04.19 |
Spring Annotation 2. @RequestMapping (0) | 2023.04.19 |
댓글