[ Spring boot Project 생성 및 테스트 ]
1) 프로젝트 셋팅
API를 만들기 위함이니 Spring Boot Devtools, Spring Web, MyBatis Framework 만 선택합니다.
스프링부트 버전은 추후 2.2.2 로 수정한 후 Next 그리고 Finish를 누릅니다.
2) Pom.xml 수정
Dependency를 수정합니다. Dependency에는 DB 관련 내용을 포함합니다.
부트 버전은 2.2.2로 수행합니다.
저는 lombok, jstl 관련 dependency도 추가해 놓았으나 해당 dependency는 삭제해도 무방합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.devfun</groupId>
<artifactId>settingweb_boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>settingweb_boot</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!-- jstl 라이브러리 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
|
cs |
3) application.properties 수정 ( src/main/resources )
1
2
3
4
5
6
7
8
9
10
11
12
|
server.port = 8031
server.servlet.contextPath=/
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
devtools.livereload.enabled=true
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://127.0.0.1:3306/statistc
spring.datasource.username=root
spring.datasource.password=devfunpj
|
cs |
port, contextpath, view, db 등 각종 설정을 한 곳에서 진행합니다.
설정내용은 serverport, contextpath를 진행하였고
suffix에 jsp를 줌으로써 /WEB-INF/views 아래에 jsp 파일로 자동으로 맵핑해주도록 합니다.
아래 테스트를 진행하면 test로 호출을 하면 test.jsp로 값을 전달한 화면이 보여짐을 확인 할 수 있습니다.
4) 기본 테스트 진행!
이미지와 같이 package, folder, jsp, java 파일을 만들고 설정대로 동작하는지 테스트 해봅니다.
[ src > main ] 아래에 webapp, views 폴더를 차례대로 만들고 test.jsp를 만듭니다.
test.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>View Test Page</title>
</head>
<body>
<h2>설정 테스트 ${name}</h2>
<div>JSP 뿌리기</div>
<c:forEach var="item" items="${list}" varStatus="idx">
${idx.index} : ${item} <br />
</c:forEach>
</body>
</html>
|
cs |
com.devfun.settingweb_boot.test 패키지를 만들고
settingTest.java 를 만들어 아래와 같은 컨트롤러를 작성합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
package com.devfun.settingweb_boot.test;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class settingTest {
@RequestMapping("/test")
public ModelAndView test() throws Exception{
ModelAndView mav = new ModelAndView("test");
mav.addObject("name", "devfunpj");
List<String> resultList = new ArrayList<String>();
resultList.add("!!!HELLO WORLD!!!");
resultList.add("설정 TEST!!!");
resultList.add("설정 TEST!!!");
resultList.add("설정 TEST!!!!!");
resultList.add("설정 TEST!!!!!!");
mav.addObject("list", resultList);
return mav;
}
}
|
cs |
프로젝트를 실행 후 /test를 호출해봅니다.
port는 application.properties에 등록한 대로 사용합니다.
즉 url은 localhost:8031/test 가 url이 됩니다.
테스트 결과 위와 같은 결과가 나옴을 확인 할 수 있습니다.
셋팅 대로 나옴을 확인 할 수 있습니다.
'(멘토링 3)백엔드 API 구축 > 3주차 : Rest API 구현' 카테고리의 다른 글
0. RestController를 활용한 간단 API 구현 (0) | 2020.09.07 |
---|---|
2. 통계 API를 위한 DB, Table 생성 (0) | 2020.09.07 |
댓글