Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- AOP
- Thymeleaf
- Exception
- 그리디
- jpa
- spring
- Servlet
- db
- 인프런
- http
- springdatajpa
- QueryDSL
- 백준
- Spring Boot
- kotlin
- 스프링 핵심 원리
- 자바
- 스프링
- JDBC
- SpringBoot
- java
- 김영한
- Android
- JPQL
- transaction
- pointcut
- 알고리즘
- Proxy
- Greedy
- 스프링 핵심 기능
Archives
- Today
- Total
개발자되기 프로젝트
Spring MVC 본문
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꺼낼 수 있음.
- @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
'인프런 > [인프런] 스프링 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