성장과정(dev)/Spring + Java + JPA

개발환경) gradle, intelliJ, spring-boot, microservice-architecture / js 절대경로 설정하기

lowellSunny 2020. 5. 20. 00:44

이전에는 실무에서 일정에 시달려 늘 그냥 돌아가면 돌아가는대로 개발해왔었는데

요즘 OJT 하면서 참 얻는게 많다

 

이런 사소한 것도 몰랐다는게 창피하지만 평생 기억하기 위해 메모!

 

spring-boot에서는 resources 폴더 아래 application.properties 또는 application.yml 을 추가하여 환경설정이 가능하다. yml이 대다수이고, 가독성이 좋다고 하기에 yml로 선택.

 

현재 폴더 구조. 아직 초기 개발이기 때문에 spring active profiles에 따라 우선 local, dev로 분리

처음엔 prefix 등의 서블릿관련 설정해주던 것을 어디서 설정하나 싶어서 막막했다. 별개 다 막막..

근데 신기하게도 resources 폴더 아래에 yml 파일을 추가하면 자동으로 그 yml 내용을 읽어서 설정된다.

yml에서 view resolver (뿐만 아니라 DB, 실행포트 등 대부분의) 설정이 가능하다. 

jpa, thymeleaf로 개발중이기 때문에 spring.thymeleaf.prefix를 설정함으로써 기존 서블릿 설정이 완료된다.

resoureces/templates아래에 html 파일들을 위치시킬 예정

이제 templates 아래에 html파일들을 위치시키면 Controller에서 view를 매핑시킬 수 있다.

 

그 다음은 html 파일에서 js 파일을 가져올 때 static 경로를 설정해 절대경로로 js파일을 읽어올 수 있도록 하려고 한다.s

spring.mvc.static-path-pattern 만 설정해주면 된대서 그렇게 했는데 계속 안돼서 한참 검색하다가 찾은 것..

spring.resources.static-locations도 추가해주어야한다.

 

이 두가지 설정을 추가하면 정상적으로 html에서 절대경로로 js 호출이 가능하다.

 

완료 !