Spring Boot + WebJars 整合运用
2019-05-07 18:17
1106 查看
Spring Boot + WebJars 整合运用
示例:SpringBoot | 第十八章:web应用开发之WebJars使用
WebJars介绍及使用
WebJars是一个很神奇的东西,可以让大家以jar包的形式来使用前端的各种框架、组件。
#### 什么是WebJars
WebJars是将客户端(浏览器)资源(JavaScript,Css等)打成jar包文件,以对资源进行统一依赖管理。WebJars的jar包部署在Maven中央仓库上
#### 为什么使用
我们在开发Java web项目的时候会使用像Maven,Gradle等构建工具以实现对jar包版本依赖管理,以及项目的自动化管理,但是对于JavaScript,Css等前端资源包,我们只能采用拷贝到webapp下的方式,这样做就无法对这些资源进行依赖管理。那么WebJars就提供给我们这些前端资源的jar包形势,我们就可以进行依赖管理。
#### 原理
原本我们在进行web开发时,一般上都是讲静态资源文件放置在webapp目录下,在SpringBoot里面,一般是将资源文件放置在src/main/resources/static目录下。而在Servlet3中,允许我们直接访问WEB-INF/lib下的jar包中的/META-INF/resources目录资源,即WEB-INF/lib/{*.jar}/META-INF/resources下的资源可以直接访问,WebJars也是利用了此功能,将所有前端的静态文件打包成一个jar包,这样对于引用放而言,和普通的jar引入是一样的,还能很好的对前端静态资源进行管理。
如何使用
1. Maven依赖
<dependency> <groupId>org.webjars</groupId> <artifactId>bootstrap</artifactId> <version>3.3.7</version> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.3.1</version> </dependency> <!-- Package as an executable jar/war --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <addResources>true</addResources> </configuration> </plugin>
2. 界面引用
<!--如果未引入webjars-locator,相关静态资源需要版本号,此处不便于升级--> <script th:src="@{/webjars/jquery/3.3.1/jquery.min.js}"></script> <script th:src="@{/webjars/bootstrap/3.3.7/js/bootstrap.min.js}"></script> <link rel="stylesheet" th:href="@{/webjars/bootstrap/3.3.7/css/bootstrap.min.css}"/>
3. 省略页面引用时的版本号
写死版本号不利于项目资源升级,可额外使用webjars-locator来省略引用时的版本号: 添加之后的pom文件如下: <dependency> <groupId>org.webjars</groupId> <artifactId>webjars-locator</artifactId> <version>0.34</version> </dependency>
然后就可以不带版本号访问了: <!--因为额外引入了webjars-locator,所以相关静态资源的引入可省略版本号便于升级--> <script th:src="@{/webjars/jquery/jquery.min.js}"></script> <script th:src="@{/webjars/bootstrap/js/bootstrap.min.js}"></script> <link rel="stylesheet" th:href="@{/webjars/bootstrap/css/bootstrap.min.css}"/>
完整示例
静态文件工程
(adsbygoogle = window.adsbygoogle || []).push({});相关文章推荐
- Spring Boot 整合 Thymeleaf 完整 Web 案例
- Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例
- thymeleaf :springboot整合mybatis的web项目中使用html而不是jsp当页面渲染
- Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例
- Spring Boot 之整合 EasyUI 打造 Web 应用
- Spring Boot中使用WebJars
- Spring Boot 中使用WebJars
- springboot+websocket的代码整合
- Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例
- Spring Boot 整合 Thymeleaf 完整 Web 案例
- Springboot 整合 Mybatis 的完整 Web 案例
- SpringBoot中关于static和templates的注意事项以及webjars的配置
- [置顶] WEB开发----spring boot与mybatis整合
- SpringBoot2.0整合SpringSecurity实现WEB JWT认证
- Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例
- springboot 整合web项目支持jsp
- springboot 整合 web
- SpringBoot整合Kotlin构建Web服务的方法示例
- Spring Boot 中使用WebJars
- 运用RestExpress+Springboot实现web接口