[웹개발] MVC 모델 활용Spring Boot 웹개발의 모든 실습 과정 1탄
0. Spring Boot란?
- 자바 프로그램 빠르게 만들어주는 도구(버거집 1~100까지 만드는 거 말고, 버거킹 체인점 여는 느낌)
0-1. 개발환경 구축
(a). JDK(자바코드번역/실행도구) 설치 > 깔려있는지 보려면 cmd에 java -version 쳐보셈 > 나는 11.0.12V
(b). IDLE(개발생산성 높여주는 도구, IntelliJ 등) 설치 > 인터넷에서 다운
(c). Spring 프로젝트 > https://start.spring.io/ > 아래 내용대로 프로젝트 생성 > 다운로드된 압축파일 풀고 IntelliJ로 본 폴더 열어! > File의 Project Structure에 SDK를 선택해줘(설치한 java version에 맞는걸로) > File의 Module의 Dependencies에 현재 프로젝트경로 추가해줘 > build.gradle에
별 삽질을 다했는데 결론은, 스프링 부트 3.x 버전에선 Java 17 이상 버전을, 2.x 버전에선 자바 11을 쓰면 될 것 같다.
-- Gradle Project / JAVA Language / Artifact: 본인프로젝트명 / Packaging: JAR / JAVA: 본인버전(11) / Dependencies추가: Spring Web / H2 Database / Mustache / Spring Data JPA
(d). project폴더 보면, 아래 사진과 같이 보이는데, src부분에 대해서 관찰해보자.
- src
- main
- java: 자바코드 들어감
- com.example.firstproject
- firstprojectApplication: 여기에 Main Method가 있음(=실행하면 실행된다)
- resources: 외부 파일 들어감
- static: 여기에 hello.html만들고, <body>안쪽에 <h1> Hello World</h1> 입력한 뒤 , Rerun하면 http://localhost:8080/hello.html 들어가서 보인다.
- templates:
1. 브라우저 URL이 어떻게 화면이 되는지
- 실행 log를 보면, TomCat으로 localhost:8080포트를 열었다라는 내역이 있음. Spring boot가 8080이라는 방 안에 있다고 생각하라.
- http://localhost:8080/hello.html 를 URL로 입력한다라는 것은, 8080포트에서 src/main/resources/static폴더 내부에 있는 hello.html을 찾아 열어준다. 라고 생각하라.
2. MVC Pattern: 로그인하는 사람(Model)이 누구냐에 따라 동일소스에서 보여지게(컴파일Complie) 해주는 패턴이다.
- src/main/resources/templates에 new file하고, greeting.mustache 생성하면, plugin이 없다고 할거다.(mustache는 MVC모델에서 사용하는 html파일 격이라고 생각하면된다) 그럴 때에는
> Help탭에서 Find Actions 클릭 후 plugins 누르고, market place들어가서 mustache 입력한 뒤 다운받아주면 된다. 생성한 뒤에는 doc누르고 탭키 누르면 기본html이 만들어지고,
- src/main/java/com.example.sayul_first/controller를 만들어주기위해, new package로 com.example.sayul_first.controller로 생성시켜준다. 그리고 package안에 FirstController라는 java class파일 만들어준다.
- FirstController.java에 @Controller 입력 후 Tab치면 import코드가 자동생성되고, 완성되면 public String niceToMeetYou(){return "greetings";} 와 같이 입력해주고, 그 위코드에 @GetMapping("/hi")를 입력해주면, http://localhost:8080/hi 를 치고들어가면 templates/greetings.mustache로 들어가지게된다.
- http://localhost:8080/hi 들어가면, "사율님, 반갑습니다"가 뜨는데, 사율 > 변수바뀔때마다 바꿔주려면 {{username}} 식으로(이건 mustache문법임) 바꿔주어야한다.
- 그리고 username이라는 걸 입력받아와야 하는 환경을 만들어야하니까, niceToMeetYou()메서드 부분의 괄호 안에 niceToMeetYou(Model model) 로 바꿔주고, 메서드 내부에 model.addAttribute("username","사율");이라고 수정해야한다.
- 그리고 Rerun 후 localhost:8080/hi 을 들어가면 아래처럼 나오고,
- 자 그럼 똑같이, FirstController.java를 약간만 수정하고, goodbye.mustache를 만들어주면, bye도 만들어줄 수 있다.
내일도 시간나면, 다음과정 또 해보고! 올려야지!
스프링의 마스터가 되는 과아정!빠밤
3. Veiw Template
-
4. 게시판(Data CRUD)
-
5. Rest API
-
6. Test Code
-
7. Comment API
-
8. Spring 핵심기능
-