Spring boot中使用WebJars

21 1月

一个Java Web项目或多或少需要是一些javascript或者css依赖,比较容易想到的办法就是用前端构建工具管理依赖,然后直接拷贝到Webapp目录,当然spring boot对于静态资源还支持一下几个位置:

我对于前端管理工具并不喜欢,也不想安装诸如node等相关环境,这个时候就可以试用WebJars了。

WebJars

WebJars将前端资源打包到jar中,这样开发人员就可以简单的管理依赖,并且可以使用已有的JVM base构建工具和生态链,同时对于RequireJS也有一些自动化支持。

在Spring Boot中使用WebJars是非常简单的,简单的引入依赖就可以,所有资源都暴露在 /webjars/** 下,只要你知道版本号和文件名,就可以直接在前端页面中引用相关资源。

Spring Boot的支持

在Spring Boot中使用WebJars如此简单,主要是因为Spring Boot有一个默认的支持,是否启动对应配置的条件在OnEnabledResourceChainCondition类

WebJarAssetLocator是WebJars中的类,如果当前classpath包含这个类,那么就启用对应配置。

而具体的配置和路径注册是在WebMvcAutoConfiguration类中,如果对应条件满足,且没有显式关闭它,那么就会注册一个

当然,如果你自己注册了一个 /webjars/** 的处理器,Spring Boot并不会用默认的配置覆盖它。

 

发表评论

电子邮件地址不会被公开。