[TIL] 2024-10-28 Java/IntelliJ Spring Boot Devtools & LiveReload 사용법

H Kim·2024년 10월 28일
0

TIL

목록 보기
70/72
post-thumbnail

스프링 강의 조금씩 듣고 있는데 프론트는... 딱히 처리를 안 해도 그냥 웹페이지를 리프레시 하면 당연히 화면 수정사항이 반영이 된단 말이죠? 왜냐면 새로 했으니까? 근데? 백엔드는? 반드시 서버를 한 번 껐다가 다시 켜야 하는 것이었습니다!
와! 백엔드 귀찮다!
김영한 분 강의 중간에 spring devtools 라는 것을 추가하면 서버를 내렸다가 다시 올리지 않아도 바뀐다고 해서 그것을 깔아보려고 노력을 하다가... 몇 번 실패하고 안 됐다.
하루가 지나고 다시 한 번 잘 찾아봐서는 도움이 되는 블로그 발견!

인텔리제이는 정말 좋은 IDE이지만 너무 복잡해서 어디가서 뭘 찾아서 넣어야 하고...
이런 것들을 모르겠는 게 좀 힘든 것 같다.
쨌든 자바/인텔리제이 로 설정하는 자세한 방법은 아래의 블로그에서 찾아볼 수 있었다.


[Java/IntelliJ] Spring Boot Devtools 이해하고 설정하기

파일 코드

  • hello.helloSpring > Controller > HelloController

여기에서는 data로 서버에서 내리는 String을 내려주는데 이걸 바꿀 때마다 서버를 내렸다 올렸다 하고 싶지 않았다!

package hello.hellospring.controller;

import org.springframework.ui.Model;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("hello")
    public String hello(Model model) {
        model.addAttribute("data", "yap yap yap!!!");
        return "hello";
    }
}

  • resources > templates > hello.html
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>HELLOOOO</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'안녕하세요 ' + ${data}" />
</body>
</html>

설정할 곳

  • build.gradle
dependencies {
// 이거 이름은 compileOnly로 하는 사람도 있고 developmentOnly인 사람도 있다.
// 아마 이름은 별로 큰 요인은 아닌 듯 함
	compileOnly 'org.springframework.boot:spring-boot-devtools'
}

  • application.properties
// 기본으로 있는 프로젝트 전체에 대한 설정
spring.application.name=hello-spring

// 처음에는 위의 두 개만 있었는데 세번째 것도 위의 블로그를 보고 세번째 것도 추가하였다.
spring.devtools.restart.enabled=true
spring.devtools.livereload.enabled=true
spring.devtools.restart.additional-exclude = static/**,public/**

  • IntelliJ IDEA > Settings
    • Advanced Settings > Compiler
      • [체크박스 체크] Allow auto-make to start even if developed application is currently running
    • Build, Execution, Deployment > Compiler
      • [체크박스 체크] Build Project automatically

  • Edit Configuration
    • 돌리고 있는 프로젝트를 선택 후
    • Modify options > On 'Update' action > Update resources

설치할 것

LiveReload Chrome Extention

무엇보다 이것을 설치하지 않으면 말짱 도루묵이었다.
근데 몰라서 한참을...^^ 안 함...^^
그냥 이거 안 해도 되는 줄...^^;;;

0개의 댓글