개발공부/[spring]김영한_스프링입문

[0]프로젝트 환경설정과 스프링 웹 개발 기초

개발자 덕구🐾 2022. 7. 13. 18:10
728x90

 

 

 

1. 프로젝트 환경 설정 

 

ctrl + alt + s를 통해서 Reference에 들어가 gradle을 검색하고 gradle에서 intellij로 설정을 변경해준다. 

 

 

 

spring은 굉장히 방대하다. 

필요한 것을 찾는 능력이 중요하다.

spring.io에 들어가 project -> springboot로 

 

 

 

@Controller
public class HelloController {
    @GetMapping("hello")
    public String hello(Model model){
        model.addAttribute("data","hello!");
        return "hello"; // templete/hello.html을 찾아 렌더링 하기
    }
}

스프링 부트는 톰캣이라는 웹서버가 내장되어있다. 

<웹서버란 정적인 데이터를 처리하는 서버이다.>

 

 

컨트롤러에서 문자열을 리턴하면 뷰리졸버가 화면을 찾아 리턴한다.

templates/<반환된 문자열>.html를 부른다.

 

 

 

 


 

 

 

2. 스프링 웹 개발 기초 

 

 

MVC : model, view, controller 

 

view에는 화면을 그리는 것에 집중 

controller는 내부적인 것을 처리한다. (비지니스 로직 ,서버 뒷단)

 

 

 

 

    @GetMapping("hello-mvc")
    public String helloMvc(@RequestParam("name") String name,Model model){
        model.addAttribute("name",name);
        return "hello-template";
    }

 

파라미터로 jack!!@을 주면 name이 jack!!@이 된다. 

 

 

 

 

@ResponseBody를 사용하면 뷰 리졸버를 사요하지 않게되고 HTTP의 body에 문자 내용을 직접 반환한다.

viewResolver대신 HttpMessageConverter가 동작하는 것이다.  

HttpMessageConverter는 기본 문자일 경우 StringConverter, 객체일 경우 JsonConverter(json 형태로 반환)이 동작한다. 

 

 

 

 

 

 

 

작년 2월에 들으려고 했었는데 그때보다 쉽고 이해가 잘 된다. 

spring으로 개발을 했었던 경험덕분이다. 

 

 

 

 

 

 

 

 

 

 

 

 

반응형