Notice
Recent Posts
Recent Comments
Link
관리 메뉴

개발자되기 프로젝트

Spring MVC 본문

인프런/[인프런] 스프링 MVC 1

Spring MVC

Seung__ 2021. 9. 12. 22:54

210912 SpringMVC1. @RequestMapping


  • 스프링은 애노테이션을 활용한 매우 유연하고, 실용적인 컨트롤러를 만들었다.
  •  바로@RequestMapping 애노테이션을 사용하는 컨트롤러이다. 
  • RequestMappingHandlerMapping -> HandlerMapping
  • RequestMappingHandlerAdapter -> HandlerAdapter
  • 가장 우선순위가 높은 핸들러 매핑과 핸들러 어댑터는 아래와 같다.
    • RequestMappingHandlerMapping
    • RequestMappingHandlerAdapter
  • 즉 @RequestMapping이 붇어있으면, RequestMappingHanderMapping, RequestMappingHandlerAdapter사용.

 

 

 

2. SpringMemberFormControllerV1


@Controller
public class SpringMemberFormControllerV1 {

    @RequestMapping("/springmvc/v1/members/new-form")
    public ModelAndView process(){
        return new ModelAndView("new-form");
    }
}
  • @Controller
    • @Controller붙어 있으면 스프링이 자동으로 스프링 빈으로 등록.
      • Component  스캔 대상
    • SpringMVC에서 annotation기반으로 Controller 인식.
      • RequestMappingHandlerMapping에서 handler 정보라고 판단하여 해당 Controller꺼낼 수 있음.
  • @RequestMapping 
    • 요청 정보를 매핑한다. 해당 url이 호출되면 이 메서드가 호출됨.
    •  annotation을 기반으로 동작하기 때문에 메서드 이름은 맘대로 가능 ㅋㅋ
  • ModelAndView
    • Model, View 정보를 담아서 반환.
  • RequestMappingHandlerMapping은 스프링 빈 중에서 @RequestMapping 또는 
    @Controller가 클래스에 붙어 있는 경우에 매핑 대상으로 인식함.

 

 

 

3. SpringMemberListControllerV1


  • ModelAndView 반환
@Controller
public class SpringMemberListControllerV1 {

    private MemberRepository memberRepository = MemberRepository.getInstance();


    @RequestMapping("/springmvc/v1/members")
    public ModelAndView process() {
        List<Member> members = memberRepository.findAll();

        ModelAndView mv = new ModelAndView("members");

        mv.addObject("members", members);

        return mv;

    }

}

 

 

 

 

4. SpringMemberSaveControllerV1


  • ModelAndView 반환
@Controller
public class SpringMemberSaveControllerV1 {
    private MemberRepository memberRepository = MemberRepository.getInstance();

    @RequestMapping("/springmvc/v1/members/save")
    public ModelAndView process(HttpServletRequest request, HttpServletResponse response){

        String username = request.getParameter("username");
        int age = Integer.parseInt(request.getParameter("age"));

        Member member = new Member(username, age);

        memberRepository.save(member);

        ModelAndView mv = new ModelAndView("save-result");
        //mv.getModel().put("member", member);
        mv.addObject("member", member);
        return mv;
    }

}

 

 

 

5. GitHub :  210912 SpringMVC


 

GitHub - bsh6463/MVC1

Contribute to bsh6463/MVC1 development by creating an account on GitHub.

github.com

 

'인프런 > [인프런] 스프링 MVC 1' 카테고리의 다른 글

SpringMVC - 실용적인방식.  (0) 2021.09.12
SpringMVC - 콘트롤러 통함  (0) 2021.09.12
ViewResolver  (0) 2021.09.12
Handler 매핑, Handler 어댑터  (0) 2021.09.12
Spring MVC 전체 구조  (0) 2021.09.12
Comments