새소식

반응형
Java/Spring

Spring Boot Thymeleaf 설정

  • -
반응형

1. Spring Boot Project 생성

 

2. Spring Boot Thymeleaf dependency 추가

 

2-1. pom.xml 에 dependency 추가

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

 

2-2. Maven Update

pom.xml에 thymeleaf dependency 를 추가했으므로 의존성 및 필요한 라이브러리를 추가하기 위해 Maven update 실행

Project 오른쪽 마우스 클릭 > Maven > Update Project

 

Update Project 클릭 시 아래와 같은 화면

해당 프로젝트 클릭 후(자동클릭) OK 버튼 클릭

 

3. View 설정을 위한 application.yml 설정 추가

기본적으로 src/main/resources 에 application.properties 파일이 있으나 삭제 후 application.yml 로 다시 생성했다.

저는 local 개발과 배포 dev 설정파일을 분리하기 위해 maven profiles를 사용했습니다.

(src/main/resources 가 아닌 src/main/resources-local 에 application.yml이 있는 이유는 개발환경과 배포환경 등

환경마다 다른 설정파일을 가지기 위해 profile을 분리했다.)

 

정확한 내용은 아래 URL 참고해주세요

https://okimaru.tistory.com/243

 

Spring Boot resources Directory Profile 마다 환경 분리

src/main/resources 디렉토리에 application-${profile}.properties 형태로 만들어 실행옵션에 active profile로 사용할 .properties 파일을 지정하여 환경마다 다른설정을 했습니다. 하지만 이러한 설정은 빌드된..

okimaru.tistory.com

spring:
  profiles:
    active: local
#thymeleaf 설정
  thymeleaf:
    check-template-location: true
    prefix: classpath:/templates/   # .html 파일을 불러오기 위한 경로 설정(src/main/resources/templates)
    suffix: .html   # 파일 확장자
    cache: false
  mvc:
    static-path-pattern: /static/** # spring mvc 정적경로 변경
server:
  servlet:
    context-path: /obo 
  port: 8081

* prefix : View 의 파일 경로를 지정하기 위한 설정

* suffix : View의 파일 확장자 지정을 위한 설정

* static-path-pattern

     : 정적파일 URL 요청 설정 변경

     : 보통은 localhost:8080/css/index.css 처럼 요청했을 경우 thymeleaf는 자동으로 static 경로에서 불러온다.

        위 설정을 하게되면 localhost:8080/static/css/index/css 처럼 static을 꼭 추가해서 불러와야 한다.

* context-path: 내장톰캣의 context path 설정, 위 설정은 localhost:8080/obo/ 로 요청해야 접근할 수 있다.

 

 

4. Controller 설정 후 웹페이지 접근

4-1. controller 패키지 생성

먼저 프로젝트 생성할 때 설정한 package 아래에 controller 패키지 생성

(저는 com.baram 으로 패키지를 설정했습니다.)

 

com.baram 마우스 오른쪽 클릭 > new > package

Name 에 com.baram.controller 적고 Finish

 

4-2. controller 생성

클라이언트 요청을 받을 Controller 생성

생성한 controller 패키지 마우스 오른쪽 클릭 > New > Class

 

Name 에 생성할 Class 명 적고 Finish

아래 코드 추가

@Controller public class MainController {
    @RequestMapping(value="/main")
    public String main() {
        return "test";
    }
}

5. html 파일 생성

yml 에 설정한 thymeleaf 의 prefix 경로에 html 파일 생성

(저는 prefix 경로로 classpath:templates/ 를 사용했습니다. classpath는 src/main/resources 를 가리키는 곳)

 

5-1. HTML 파일 생성

src/main/resources 하위에 templates 마우스 오른쪽 클릭 > new > HTML File > File name에 test 입력
* HTML 파일 생성 시 webapp으로 고정되어 있으므로 src/main/resources/templates 로 변경

5-2. HTML 파일 내용 적기

아래와 같이 필요한 데이터를 삽입한다.

 

6. 웹페이지 요청

yml 파일의 context-path 와 controller requestMapping value 값을 통해 웹페이지를 요청한다.

(저는 context-path를 /obo, controller RequestMapping value 값은 main 으로 설정했다)

 

localhost:8080/obo/main 으로 접근

 

저는 port를 8080 이 아닌 8082 로 설정했습니다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.