728x90
package hello.hellospring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HelloController
{
@GetMapping("hello")
public String hello(Model model)
{
model.addAttribute("data","hello!!");
return "hello";
}
}
여기서 intellij 는 hello에 control을 누르면 그 해당하는 페이지로 바로 이동시켜준다!! key,value pair 개념으로 data,hello!! 가 맵핑되었다.
컨트롤러에서 문자를 반환하면 ViewResolver 가 화면을 찾아서 처리하는데 스프링부트 템플릿엔진 기본 viewName매핑 == `resource:tempates` +{ViewName} + `.html`
build하는법 윈도우에서 gradle build 를 쳐주면 build/libs/ 폴더안에 jar 파일이 생긴다. java -jar <그 파일> 쳐주면 위에서 했던것이 실행이 된다.
static 파일의경우 우선 controller에서 매핑이 되어있는 지 확인하고 안되어 있으면 resources:static/hello-static.html을 찾는다.
@ResponseBody는 viewresolver를 거치지 않고 그냥 return 문을 화면에 띄워준다
객체를 JSON 방식으로 화면에 띄워준다.
@ResponseBody 가 붙으면 viewResolver 대신 HttpMessageConverter가 동작을 한다.
문자 (StringHttpMessageConverter) 가 아닌 객체를 넘겨주면 그냥 JSON방식으로 (MappingJackson2HttpMessageConverter) 만들어서 http 응답에 반환해준다.
추후에 메모리에서 Jpa rds등등 바꿔기기 위해서 인터페이스를 설계한다.
728x90
'WEB > Spring' 카테고리의 다른 글
김영한 (스프링 부트 5) (0) | 2021.02.08 |
---|---|
김영한 (스프링부트 입문) 4 (0) | 2021.02.08 |
김영한 (스프링부트 입문) 3 (1) | 2021.01.31 |
김영한 (스트링부트 입문) 2 (1) | 2021.01.24 |
Spring Ehcache example (0) | 2021.01.23 |