SPRING/스프링
[스프링]6. @RequestMapping 어노테이션 사용
추억을 백앤드하자
2021. 3. 30. 15:43
728x90
반응형
SMALL
package com.newlecture.web.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller //ctrl+shift+o 자동 임폴트
public class IndexController /*implements Controller*/{
@RequestMapping("/index") //매핑구문 안에 구문을 저절로 찾아서 url리솔빙을 해준다.
public void aaaa() {
System.out.println("asd");
}
// @Override
// public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
// // TODO Auto-generated method stub
//
// ModelAndView mv=new ModelAndView("root.index");
// mv.addObject("data", "Hello Spring MVC");
// //mv.setViewName("/WEB-INF/view/index.jsp");
//
// return mv;
// }
}
해당 클래스 파일을 보면 주석처리된 부분은 어노테이션 적용 이전의 내용이다.
해당 컨트롤러 클래스는 index.jsp 로 보내는 역할이다.
현재 xml 파일 내에서는 이전에는 주석처리된 이 구문이 활성화됬었으나
<!-- <bean id="/index" class="com.newlecture.web.controller.IndexController"/> -->
context 스캔구문으로 어노테이션 설정을 했기때문에 더이상 위의 선언문을 사용하지 않아도 되며
해당 context 구문을 xml에 선언하면 @Controller 어노테이션으로 ioc 컨테이너에 담을수 있게됬으며
<context:component-scan base-package="com.newlecture.web.controller" />
기존 인터페이스를 받고 있는 implements Controller 또한(클래스명 옆에 주석처리된 부분)
context 스캔 구문에서 Controller 가 포함된 패키지 내의 범위(com.newlecture.web.controller)를 스캔하고있기 때문에 @Controller(=@Component) 선언으로 저 구문을 대체할수 있게된다.
xml 파일 주석구문에서
IndexController 클래스가 url 매핑을 /index 로 받고있는 xml 설정을 볼수 있으나 이또한
@RequestMapping 어노테이션 선언으로 대체가 가능하여 저 xml구문또한 필요가 없다.
스프링 3.x 때 과거버전
스프링 4.x 이후의 현재버전 지금은 이거 주로 사용
728x90
반응형
LIST