Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Static Resources Management with Spring
Search
Brian Clozel
April 30, 2015
Programming
390
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Static Resources Management with Spring
(Workshop)
Brian Clozel
April 30, 2015
More Decks by Brian Clozel
See All by Brian Clozel
Back from SpringOnePlatform 2019
bclozel
4
260
Intro à Spring Boot
bclozel
0
170
Cloud native apps with Spring Cloud
bclozel
1
760
HTTP2 for the web developer devoxx
bclozel
0
220
HTTP2 for the web developer
bclozel
1
180
Inside http://spring.io
bclozel
1
420
Intro to Spring Boot
bclozel
4
2.9k
Inside spring.io: a production spring reference application
bclozel
0
190
Open-sourcing http://spring.io
bclozel
1
680
Other Decks in Programming
See All in Programming
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
230
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
5
800
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
190
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.3k
小さなアプリを作って公開するまで
onozaty
0
140
Getting Started with Vibe Coding
miccheng
0
190
オーケストレーション記述言語 Katari
yukikurage
0
240
Railsバージョンを4倍にした話
optim
0
960
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
15
11k
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.7k
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
140
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
540
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
699
190k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
930
The Pragmatic Product Professional
lauravandoore
37
7.5k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
570
Design in an AI World
tapps
1
380
Utilizing Notion as your number one productivity tool
mfonobong
4
640
Deep Space Network (abreviated)
tonyrice
0
410
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
580
The Curious Case for Waylosing
cassininazir
1
610
Building AI with AI
inesmontani
PRO
1
1.4k
Transcript
Static Resources Management workshop Brian Clozel @brianclozel
Getting started $ open http://bit.ly/resourcehandling $ git clone http://github.com/bclozel/…
$ git fetch -‐-‐all $ cd angularjs && mvn package
Brian Clozel @brianclozel http://spring.io/team/bclozel
First application 4 What could we achieve before Spring
4.1?
Resource Handling < 4.1 • Serve static resources from *any*
Spring Resource location • Basic Cache header management • Easy to configure 5
WORKSHOP PART #1
Remaining questions • optimize (concatenate, minify) • transform (LESS,
coffeescript, gzip) • front-‐end optimization (cache busting URLs, concatenate, minify) • development experience 7
AngularJS 8 First run with Resource Handling
Sources of inspiration • a complete asset pipeline built into
Spring MVC • fingerprinting URLs for cache busting • client side dev in Sagan project 9
Why not an asset pipeline? • runtime vs. build time
approach • languages and tools evolve *fast* • ES6, HTTP/2 10
Client source code layout • src/main/webapp just not adequate anymore
• client *and* server: dependency management, modularity, tests, build artifacts • client-‐side development: ctrl+S, F5 11
WORKSHOP PART #2
ES6 app 13 client-‐side build and JS module loaders
Spring 4.1 resource handling • ResourceResolver • ResourceTransformer
• ResourceUrlProvider 14
Built-‐in ResourceResolvers • PathResourceResolver • VersionResourceResolver • GzipResourceResolver
• CachingResourceResolver 15
Built-‐in ResourceTransformers • CssLinkResourceTransformer • AppCacheManifestResourceTransformer • CachingResourceTransformer
16
VersionResourceResolver • VersionStrategies: • ContentVersionStrategy (md5 hashes) •
FixedVersionStrategy (version string as a path prefix) 17
WORKSHOP PART #3
Q&A 19 …and what’s next?
What’s next? • https://github.com/bclozel/spring-‐resource-‐ handling • https://github.com/spring-‐io/sagan •
https://jira.spring.io 20