Controller의 공백메서드?
public class Controller {
@GetMapping("/list")
public void listPage(){};
}
👉 요청만 있으며 내용이 없는 빈 메서드
❓ 해당 매핑으로 요청하게 되면 어떻게 될까
◾ 매핑 요청 태그
<a href="/list">리스트</a>
◾ 결과
👉 url이 /list 경로로 이동 되는것을 확인
🤔 아무런 반환 값이 없는데 왜 페이지가 이어질까?
스프링 부트에는 JSP를 View로 활용하기 위해 JSP파일을 찾아 렌더링 할수 있도록 돕는 설정이 되어있다.
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
Controller에 요청이 들어갈 경우
해당 요청에 메서드가 실행되어 return된 값이 위 설정 경로에 들어가 페이지가 이어지는 것이다.
📌 WEB-INF/views/list.jsp 👉 최종적인 url 주소
🔥 공백 메서드가 동작하는 원리
Spring MVC에서는 컨트롤러 메서드에서 void를 반환할 경우
요청된 URL을 기준으로 뷰 이름을 추론한다.
이러한 동작을 view name inference 이라고 한다.
따라서
public class Controller { @GetMapping("/list") public void listPage(){}; }
👉 요청된 URL 메서드가 void 이기때문에 해당 URL인 /list 가 반환된다.
❗ 주의할 점
반드시 View 파일 경로와 URL의 경로 이름이 일치해야한다.
🤔 이런 방법을 쓰는 경우와 장점?
해당 코드의 장점은 간결하다는 점이다.
주로 화면 전환과 요청한 URL의 페이지를 호출할 때 간편하게 불러내기 위해 사용된다.
'SpringBoot' 카테고리의 다른 글
[SpringBoot] JPA와 MyBatis은 어떤 원리로 ApplicationProperties에 설정된 정보를 통해 SQL을 실행하는지 알아보자 (0) | 2025.04.29 |
---|---|
[SpringBoot] MyBatis의 mapper 인터페이스의 자동 구현체 생성(Proxy) (2) | 2025.04.28 |
[SpringBoot] MultipartFile을 사용한 업로드 파일 저장 구현 (2) | 2025.04.25 |
[SpringBoot] @Component Bean은 언제 생성될까? (0) | 2025.04.16 |
[SpringBoot] @Conponent 어노테이션으로 더욱 편리하게 Bean 설정하기 (0) | 2025.04.15 |