프로젝트 생성

학습 페이지

프로젝트를 생성할때 War대신 Jar를 선택한다. War는 보통 톰캣을 별도로 설치하고 빌드된 파일을 넣을때, JSP를 넣을때 사용한다. Jar는 별도의 톰캣서버 없이 내장톰캣에 바로 돌릴때 사용한다. 즉, 내장서버에 최적화되어있다. 최근에는 이 Jar를 주로 사용한다.

참고로 스프링 부트에 Jar를 사용하면 /resources/static위치에 index.html을 두면 이걸 welcome페이지로 처리한다. welcome페이지를 만들자.

1️⃣ 로그

로깅 간단히 알아보기

학습 페이지

앞으로 sysout으로 찍어보면서 동작결과를 알아보지 않고 로깅을 이용할 것이다. 로그 관련 라이브러리도 많기 때문에 간단하게만 알아보자.

스프링부트는 기본적으로 다음의 로깅라이브러리를 사용한다.

SLF4J는 많은 로그라이브러리를 인터페이스화 해버린 라이브러리이다. 그 구현체로는 Log4J, Log4J2등… 많은데 스프링부트는 Logback을 사용한다.

SLF4J는 다음과같이 쓴다. 먼저 로거팩토리에서 로그를 얻어온다.

그 후에 찍고 싶은 로그를 log.info() 메서드로 찍는다…

package hello.springmvc.basic;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController //반환값이 http 바디로 들어간다.
public class LogTestController {
    private final Logger log = LoggerFactory.getLogger(getClass()); //slf4j

    @RequestMapping("/log-test")
    public String logTest() {
       String name = "spring" ;

       log.info("info log={}", name);

       return "ok";
    }

}