Spring MVC에서 정적 자원(css, js, etc)을 처리해본 경험
ResourceHttpRequestHandler
URL 패턴에 따라 정적 자원 요청을 처리
HTTP 캐시 설정 기능 제공
설정 간소화 기능 제공
:Java 기반 설정시 WebMvcConfigure
Gradle을 이용해서 build 자동화
프로젝트 구조
backend
- src
- main
--java
-- resource
- test
frontend
- package.json
- bower.json
- groundfile.js
- src
-- assets
-- helpers
--layouts
--libs
-- pages
Backend 관리
Sprinb boot, Spring I/O Platform, 공용 컴포넌트
Thymeleaf
html태그 /속성 기반의 템플릿 엔진
FrontEnd 관리
NPM
BOWER
GRUNT
usermin
Fingerprinting : grunt-filerev 를통해 작동
캐쉬를 효율적으로 이용하기 위해 이용
템플릿 생성: assemble
프론트 엔드 개발이 분리된 이유
Dependancy management
modularity
tests
build automation
FrontEnd의 자원 사용법
FrontEnd 의존성 활용법
WebJars
Client-side 웹 라이브러리를 JAR로 묶어서 제공하는 서비스
JVM 기반 빌드 도구를 지원(maven 저장소)
-> frontend.jar로 만든후 backend 모듈에 의존성을 추가(Gradle로 통합)
frontend를 빌드후 jar로 만들기
개발과 배포는 다르다
배포시에는 최적화된 자원을 쓴다
개발시에는 작성죽인 css, js를 사용
backend 환격에 따른 자원 접근 전략 변경
ex) if(개발) { 개발용} else { 배포용 }
(time leaf)타임 리프: 프론트엔드가 개발한 환경 그대로 스프링에서 그대로 쓸수 있다.
핸들바를 스프링측에 이미 있다.
Spring 4.1 fingerprinting과 자원 최적화가 Spring에서 runtime 레벨에서 제공해준다.
참고 기트허브 gihub.com/arawn/resource-handling-in-springmvc
'Java > Spring' 카테고리의 다른 글
스프링 프로파일 (Spring profile) 을 통해 환경별로 다른 설정을 해보자 (0) | 2016.11.24 |
---|---|
Spring 내에서 리소스 불러오기 (0) | 2016.11.18 |
스프링 Properties 파일을 이용해서 설정하기 (0) | 2016.11.18 |
Mybatis + Myabtis Spring 사용시 마이바티스 설정파일 사용법 (0) | 2016.11.14 |
Tomcat 으로 원격 배포와 서버 원격디버깅 (0) | 2016.07.18 |