Spring Boot 实战(3)静态资源配置

1.2 “/**” 访问当前项目的任何资源,都去(静态资源的文件夹)找映射

先看其源码:

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

if (!this.resourceProperties.isAddMappings()) {

logger.debug(“Default resource handling disabled”);

return;

}

Duration cachePeriod = this.resourceProperties.getCache().getPeriod();

CacheControl cacheControl = this.resourceProperties.getCache().getCachecontrol().toHttpCacheControl();

if (!registry.hasMappingForPattern(“/webjars/**”)) {

customizeResourceHandlerRegistration(registry.addResourceHandler(“/webjars/**”)

.addResourceLocations(“classpath:/META-INF/resources/webjars/”)

.setCachePeriod(getSeconds(cachePeriod)).setCacheControl(cacheControl));

}

String staticPathPattern = this.mvcProperties.getStaticPathPattern();

if (!registry.hasMappingForPattern(staticPathPattern)) {

customizeResourceHandlerRegistration(registry.addResourceHandler(staticPathPattern)

.addResourceLocations(getResourceLocations(this.resourceProperties.getStaticLocations()))

.setCachePeriod(getSeconds(cachePeriod)).setCacheControl(cacheControl));

}

}

在这里插入图片描述

ResourceProperties.java

@ConfigurationProperties(prefix = “spring.resources”, ignoreUnknownFields = false)

public class ResourceProperties {

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { “classpath:/META-INF/resources/”,

“classpath:/resources/”, “classpath:/static/”, “classpath:/public/” };

从源码可以得出访问路径:

“classpath:/META‐INF/resources/”,

“classpath:/resources/”,

“classpath:/static/”,

“classpath:/public/”

“/”:当前项目的根路径

前面4个是resource目录下的不同目录

注意:最后一个 / 就是表示 webapp 目录中的静态资源也不被拦截。这个不经常使用。

idea中创建好Spring Boot项目,默认的目录就有static

在这里插入图片描述

如果要访问static下面的hello.jpg ,在浏览器输入

**http://localhost:8080/hello.jpg ** 就可以去静态资源文件夹里面找hello.jpg

1.3 访问欢迎页; 静态资源文件夹下的所有index.html页面;被"/**"映射;

在这里插入图片描述

1.4 配置需要的图标,所有的 **/favicon.ico 都是在静态资源文件下找;

2. 自定义配置

第一种: 在Springboot中可以直接在配置文件中覆盖默认的静态资源路径的配置信息:

#配置定义的资源位置

spring.resources.static-locations=classpath:/

#配置定义的请求url规则

spring.mvc.static-path-pattern=/**

第二种: 在SpringBoot开发中,可以在Java代码中覆盖默认静态资源配置

@Configuration

public class WebMvcConfig extends WebMvcConfigurerAdapter {

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

if(!registry.hasMappingForPattern(“/static/**”)){

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。

架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。

如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。

image

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。

[外链图片转存中…(img-Tqxx5SuT-1712191935075)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue和Spring Boot是一对非常流行的前后端分离的开发框架。Vue是一个用于构建用户界面的JavaScript框架,而Spring Boot是一个用于构建Java应用程序的框架。 在Vue和Spring Boot的结合中,前端和后端的开发可以完全独立进行,各自负责不同的功能实现。前端开发者使用Vue来构建界面和处理用户交互,而后端开发者使用Spring Boot来处理业务逻辑和数据持久化。 在实战开发中,可以利用Vue的组件化和模块化特性,将页面拆分成多个独立的组件,每个组件负责不同的功能实现。同时,Vue提供了丰富的插件和工具,可以方便地进行前端开发,如Vue Router用于处理路由,Vuex用于管理应用状态等。 而Spring Boot则提供了Spring框架的强大功能,例如依赖注入、AOP、事务管理等。后端开发者可以使用Spring Boot来处理前端发送的请求,进行数据的验证、处理和存储等。同时,Spring Boot还可以与其他开源框架集成,如Spring Cloud用于构建分布式系统,MyBatis用于数据库操作等。 在实战开发中,可以使用webpack将Vue代码打包成静态资源,然后放到Spring Boot静态资源目录中进行访问。同时,前端开发者也可以使用前端构建工具如npm或yarn来管理前端依赖。 总结来说,Vue和Spring Boot的结合可以实现前后端分离开发,提高开发效率和代码可维护性。使用Vue和Spring Boot的开发者可以分别专注于前端和后端的工作,提高开发效率。实战开发中,可以根据具体的业务需求选择适合的开发框架和工具,以实现更好的用户体验和系统性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值