vscode에서 ERD Editor, Extension Pack for Java, Lombok, Spring Boot Extension Pack을 설치한다.
상단바의 View - Command Palette 를 실행하여
Spring Initializr: Create a Maven Project... 를 선택한다.
자바 11을 다운받았으니 2.7.12를 사용할 것이다.
자바 17은 3.1.0을 사용하면 된다.
언어는 Java를 사용할 것이다.
패키지 이름을 설정한다. 기본값 그대로 사용할 것이고
프로젝트 이름을 설정한다. 오늘 날짜인 boot_20230427로 지정한다.
개발은 Jar로, 서비스는 War을 이용한다. Jar 선택
Java버전은 11로 선택.
dependency를 위 체크된 4개를 선택한다.
Java에서 pom.xml에서 직접 입력했던 그 dependency이다.
엔터를 누르면
설치할 폴더를 지정하는 창이 나온다. 늘 사용하든 workspace를 지정하였다.
프로젝트를 열어 pom.xml을 확인해보자. 아까 체크한 dependency들이 나온다.
example안에 controller, mapper, service 폴더를 생성하고 controller에 HomeController.java를 생성하자.
package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
// 127.0.0.1:9090/CONTEXTPATCH/home.do
@GetMapping(value = "/home.do")
public String homeGET() {
//request.getRequestDispatcher("/WEB-INF/home.jsp").forward(request, response);
return "home";
}
// 127.0.0.1:9090/CONTEXTPATH/main.do
@GetMapping(value = "/main.do")
public String mainGET(){
return "main";
}
}
이렇게 작성하면 Java에서 사용하던 Servlet과 같은 기능을 가지게 된다.
resource의 templates에 home.html을 만든다.
이 위치에서 view를 생성하여 사용한다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
홈화면
</body>
</html>
home.html
server.port=9090
server.servlet.context-path=/ROOT
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
application.properties
여기는 환경설정이라고 생각하면 된다.
package com.example.boot_20230427;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan(basePackages = {"com.example.controller"})// 컨트롤러 위치 설정
public class Boot20230427Application {
public static void main(String[] args) {
SpringApplication.run(Boot20230427Application.class, args);
}
}
Boot20230427Application.java
run을 누르면
이렇게 주소를 입력하면 home.html에서 작성한대로 출력된다.
이렇게 수정하면
이렇게 작성한대로 출력된다.
이번엔 이렇게 입력해보았다.
작성한대로 잘 나오게 된다.
Java에서는 css, images, js 파일을 를 resources에 바로 넣었지만
vscode에서는 resources - static 안에 css, images, js 폴더를 생성하여 그 안에 넣으면 된다.
이렇게 css를 활용하면 된다.
같은 방법으로 home.do, main.do를 작성해보았다.
package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
// 단축키 shift + alt + o
// 자동정렬 ctrl+k, f
@Controller
@RequestMapping(value="/board")
public class BoardController {
// 127.0.0.1:9090/ROOT/board/select.do
@GetMapping(value="/select.do")
public String selectGET(){
return "/board/select";
}
// 127.0.0.1:9090/ROOT/board/insert.do
@GetMapping(value="/insert.do")
public String insertGET(){
return "/board/insert";
}
// 127.0.0.1:9090/ROOT/board/update.do
@GetMapping(value="/update.do")
public String updateGET(){
return "/board/update";
}
}
controller폴더에 BoardController.java를 생성하여 이렇게 작성해보자.
templates - board 에 select.html 폴더를 만들었다.
주소를 입력하니 작성한대로 나온다.