WEB/Spring

김영한 (스프링부트 입문) 1

Tony Lim 2021. 1. 24. 17:58
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