티스토리 뷰
목록
@Controller
@RequestMapping
Controller의 파라미터 수집 => 파라미터의 수집과 변환 까지 (p132)
스프링 MVC의 Controller
스프링 MVC를 이용하는 경우 작성되는 Controller의 특징
* HttpServlerRequest, HttpServlerResponse를 거의 사용하지 않고 필요한 기능 구현 가능
* 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용 가능
* GET , POST 방식 등 전송 방식에 대한 처리를 어노테이션으로 처리 가능
* 상속/인터페이스 방식 대신에 어노테이션만으로도 필요한 설정 가능
다른 프레임워크들과 달리 스프링 MVC는 어노테이션을 중심으로 구성됨 => 각 어노테이션의 의미에 대해 주의해가며 공부하기
@Controller, @RequestMapping
<!--SampleController 클래스-->
package org.zerock.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/sample/*")
public class SampleController {
}
@Controller
* 작성된 클래스는 자동으로 스프링의 객체(Bean)로 등록됨 ==> servlet-context.xml에 이유가 있음
<!--servlet-context.xml의 일부-->
<context:component-scan base-package="org.zerock.controller" />
<context:component-scan>이라는 태그를 이용 : 지정된 패키지를 스캔하도록 설정되어 있음 => 그럼 스프링은 이 패키지 안에 클래스들을 스캔하면서 객체(Bean) 설정에 사용되는 어노테이션들을 가진 클래스들을 파악하고 이를 객체로 생성해서 관리한다
이 클래스들이 스프링에서 객체로 생성되서 관리되면 클래스 옆에 작게 's' 모양의 아이콘이 추가됨
@RequestMapping
* 현재 클래스의 모든 메서드들의 기본적인 URL 경로가 됨 => URL은 모두 SampleController에서 처리됨
* 클래스 선언과 메서드 선언에 사용할 수 있음
//SampleController 클래스
@Controller
@RequestMapping("/sample/*")
@Log4j
public class SampleController {
@RequestMapping("")
public void basic() {
log.info("basic........................");
}
@Log4j
Log4j는 Lombok을 이용해 로그를 기록하는 Logger를 변수로 생성함 ==> 쉽게 말해 로그를 작성해주는 어노테이션
Spring Legacy Project로 생성한 프로젝트는 기본적으로 Log4j가 추가되어 있으므로 별도의 설정이 필요하지 않음
✅ pom.xml에서 <scope>runtime</scope> 이 부분을 지워야 Log4j가 돌아갈 수 있게 됨!!
@RequestMapping의 변화
@RequestMapping의 경우 몇 가지 속성을 추가할 수 있음(@Controller는 못함)
method 속성을 추가해서 GET,POST 방식을 구분해서 사용할 때 이용함
스프링 4.3 이후부터 @RequestMapping을 줄여서 @GetMapping, @PostMapping 으로 등장함
아래와 같이 비교하기
//SampleController 일부
@RequestMapping(value="/basic", method= {RequestMethod.GET, RequestMethod.POST})
public void basicGet() {
log.info("basic get........................");
}
@GetMapping("/basicOnlyGet")
public void basicGet2() {
log.info("basic get only get........................");
}
@ㄱ
'Framework & Management > Spring' 카테고리의 다른 글
10월 28일 금요일 [코드로 배우는 스프링웹프로젝트] -3day(2) (0) | 2022.10.28 |
---|---|
10월 28일 금요일 [코드로 배우는 스프링웹프로젝트] -3day(1) (0) | 2022.10.28 |
10월 27일 목요일 [코드로 배우는 스프링웹프로젝트] -2day(2) (0) | 2022.10.28 |
10월 27일 목요일 [코드로 배우는 스프링웹프로젝트] -2day(1) (0) | 2022.10.27 |
10월 26일 수요일 [코드로 배우는 스프링웹프로젝트] -1day 설정 (0) | 2022.10.26 |
- Total
- Today
- Yesterday
- 프로그램
- 리스트
- Random 클래스
- 자료형
- 리스트연산자
- StringTokenizer 클래스
- 포장 클래스
- Calendar 클래스
- StringBuilder 클래스
- StringBuffer 클래스
- Pattern 클래스
- Math 클래스
- 요소선택
- 함수
- Date 클래스
- 순환할당
- Arrays 클래스
- 기본 API 클래스
- 역반복문
- 스레드 스케줄링
- not_in
- python
- Format 클래스
- 딕셔너리
- Objects 클래스
- java.time.package
- IndexError
- 문자열함수
- 파이썬
- FALSE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |