Spirng과 SpringBoot의 개발할 때의 차이점이 무엇인가 알아보고자
Spring Boot를 한번 사용해보았다.
Spring Boot ( vs SpringMVC)
- Auto Configuration : 최소한의 설정으로 애플리케이션 개발
(xml, annotation, java class) convention over configuration - Easy Dependency Management (spring-boot-starter) : 관련 라이브러리 (호환 버전) 다운로드
예 : spring-boot-starter-web : spring, web mvc, jackson, validation, ...
SpringBoot 세팅
Springboot 프로젝트 생성
Tomcat (app1.war, app2.war)
appl.jsr(embedded tomcat / 톰캣 설치 필요 X) : java -jar appl.jar
thymeleaf : 템플릿 엔진
- SpringMVC는 jsp를 사용해 뷰를 생성.
- 여기서는 jsp 대신 thymeleaf를 사용할 예정
controller 생성
-HomeController.java
package kr.ac.hansung.cse.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomController {
// @GetMapping is a composed annotation thia acts as a short cut for
// @RequestMapping(value = "/", method = RequestMethod.GET);
@GetMapping("/")
public String home(Model model) {
model.addAttribute("message", "hello world");
return "index";
}
}
@GetMapping("/")
- @RequestMapping(value = "/", method = RequestMethod.GET);와 동일한 역할을 한다.
index 뷰 생성
thymeleaf예시
spring과 다르게 Spring boot는 html로 뷰를 생성한다.
-index.html
<!DOCTYPE html>
<html wmlns:th = "http://www.thymeleaf.org">
<head>
<meta charset="EUC-KR">
</head>
<!-- th:text replaces the body of a tag -->
<body>
<div th:text="${message}"></div>
</body>
</html>
Run As > Spring Boot App 하여 실행해준다.
실행했을 때 위와 같은 화면의 오류가 떴지만 maven clean, 프로젝트 clean 해주어 해결하였다.
-실행 로그
- index.html과 controller를 잘못 적을 경우 오류 화면
-정상적인 화면
포트번호 바꾸기
application.properties에서 다양한 설정이 가능하다.
-application.properties
server.port=9000
포트번호를 9000번으로 설정해놓아, 이전의 포트번호로는 웹 페이지에 접속할 수 없다.
9000번 포트번호로는 정상적으로 접속이 가능하다.
https://devlog-wjdrbs96.tistory.com/84
https://goddaehee.tistory.com/206
https://www.fwantastic.com/2019/12/javautillogging-vs-log4j-vs-slf4j.html
https://dololak.tistory.com/632
https://ckddn9496.tistory.com/81
IDE(통합 개발 환경)란? 개념, 기능, 필요성 (redhat.com)
[Java] Iterable을 컬렉션(Collection)으로 바꾸는 방법 (tistory.com)
@RequestParam, @PathVariable, @RequestBody (tistory.com)
[네트워크] get 과 post 의 차이 :: 인생의 로그캣 (tistory.com)
HTTP GET,POST방식 차이 (tistory.com)
Spring MVC 기초 정리 — 파즈의 공부 일기 (tistory.com)
[Spring] HTTP 요청 맵핑 - 미디어 타입 (tistory.com)
Logback - 3. Logback의 설정 (2). configuration 파일 구성 (tistory.com)
[log4j] log4j.xml 설정 : Logger 위계구조, 로그 분리하기 (tistory.com)
'Study > SpringBoot' 카테고리의 다른 글
[SpringBoot] REST API (0) | 2022.10.02 |
---|---|
[SpringBoot] security, logging(slf4j) (0) | 2022.10.02 |