Spring Boot 특징
- Context Path가 없다
- Tomcat 내장 되어져있다
- JSP 지원하지 않는다
- web.xml이 없다. => WEB-INF가 없다
Spring Boot 장점
- Maven보다 간단하다
- 버전을 자동적으로 맞춘다.
Swagger: http://127.0.0.1:7788/swagger-ui.html#/Encore_HRM
- RESTful 개발자가 제작한다.
- client개발자가 참고하여 front 등을 제작한다
- swagger에 들어가면 mapping이 어떻게 적용되었고 어떤 기능들이 존재하는지 한 눈에 알수 있다.
CrossOrigin 사용하여야 restful서비스를 비동기로 받아올 수 있다.
<Spring boot 세팅>
1. Spring boot - spring start boot project 생성
이때 --> Packaging을 war로 바꿔준다
--> 자바버전을 바꿔준다 8
dependency 기본 추가 Spring boot devTools, Spring Web
Maven - update Project 실행
webapp 폴더에 html 문서 추가(hello.html) :: 스프링부트는 ContextPath가 없다
src/main/resources/application.properties 파일에 아래 내용 추가
# root context and port settings
# server.servlet.context-path=/boot
server.port=7788
프로젝트- Run as - Spring Boot App 실행 후 html 페이지 생성 확인
----------------------------------------------------------------------------------
2. JSP 세팅
pom.xml 에 아래 dependency 추가
<!-- jsp 설정 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
Maven - update Project 실행
src/main/resources/application.properties 파일에 아래 내용 추가
# jsp path
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
webapp 하위 폴더 생성 /WEB-INF/views/
result.jsp 파일 추가하기
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello ${data }
</body>
</html>
src/main/java/com.ssafy.rest.controller 에 HelloController.java 생성하여 아래소스 추가
@Controller
public class HelloController {
@GetMapping("/hello")
public String hello(HttpServletRequest req) {
req.setAttribute("data", "ssafy");
return "result";
}
}
--> http://localhost:8080/ssafyapi/hello 접속하여 JSP 연결 테스트
---------------------------------------------------------------------------------------
3. Mybatis 연결 설정
DB 생성되지 않은 상황이면 s_emp.sql 구문 실행하여 DB 생성 후 아래 작업 진행
pom.xml 에 아래 dependency 추가
<!-- DB 설정 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
Maven - update Project 실행
src/main/resources/application.properties 파일에 아래 내용 추가
#db settings
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ssafydb?useSSL=false&useUniCode=yes&characterEncoding=UTF-8&serverTimezone=Asia/Seoul
spring.datasource.username=root
spring.datasource.password=1234
#mapper location settings
mybatis.config-location=classpath:config/SqlMapConfig.xml
dao, service, controller 배포 끝난후 요청하기
---> http://localhost:8080/api/findAllEmployees 테스트 주소
-------------------------------------------------------------------------------
4. RestFul API 서비스 설정 추가
pom.xml 에 아래 dependency 추가
<!-- RESTFul JSON 출력 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.5</version>
</dependency>
Maven - update Project 실행
------------------------------------------------------------------------------------
5. SWagger 프레임웤 추가하기
pom.xml 에 아래 dependency 추가
<!-- SWagger 2 추가 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
Maven - update Project 실행
-->http://localhost:7788/swagger-ui.html ::: swagger 접속 페이지
'JAVA' 카테고리의 다른 글
Restful Service (0) | 2021.07.05 |
---|---|
Spring MVC Framework (0) | 2021.06.23 |
[JAVA Framework] Spring Framework (0) | 2021.06.23 |
Java Framework 도입 (0) | 2021.06.17 |