springboot-web自动装配的原理

SpringBoot Web开发

项目里面都是jar

没有webapp的地方!那我们怎么去进行web开发。

SpringBoot最大的特点就是:自动装配

SpringBoot到底帮我们配置了什么,能不能进行修改?能修改哪些东西?能不能扩展?

  • xxxxAutoConfiguration… **向容器中自动配置组件 ** 【这就是自动装配】
  • xxxxProperties: 自动配置类,装配配置文件中自定义的一些内容! 【这一步就是修改】

要解决的问题

  • 导入静态资源
  • 首页
  • 原本的项目就是写jsp来展示页面的,现在没有了,就需要学习==模板引擎Thymeleaf==
  • 学习装配和扩展SpringMVC
  • 增删改查
  • 拦截器
  • 国际化!

静态资源

在springboot,可以使用下面的方式处理静态资源

WebMvcAutoConfiguration里面就是静态资源的配置

在那些包里面找到相对应的包,包里面有相对应的方法,再找到添加资源的方法addResourceHandlers

在这里插入图片描述

  1. 第一种方式:就是自定义的方式,在yaml配置文件中定义,后面的2 3就失效了

    自定义静态资源路径

    我们也可以自己通过配置文件来指定一下,哪些文件夹是需要我们放静态资源文件的,在application.yaml中配置:

    spring.resources.static-locations=classpath:/jsp/,classpath:/ljq/
    
  2. 第二种:webjar方式导进静态资源,就是在maven里面进行导入
    在这里插入图片描述
    在这里插入图片描述

    访问成功!

  3. 第三种:/ 路径下面的所有资源都被识别,但是识别资源也是有优先级的。 【这种就是最多人使用的】

    WebProperties里面找到Resources方法,里面就是静态资源配置,一共有4种类型静态资源的配置。

在这里插入图片描述

优先级:classpath:/META-INF/resources/" 》 “classpath:/resources/” 》“classpath:/static/” 》 "classpath:/public/

classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/

【看源码找到的,每一个版本都会不一样,所以就会有很多不一样的配置类,但是原理都一样】

public static class Resources {
        private static final String[] CLASSPATH_RESOURCE_LOCATIONS = new String[]{
            "classpath:/META-INF/resources/", 
            "classpath:/resources/", 
            "classpath:/static/", 
            "classpath:/public/"};
        private String[] staticLocations;
        private boolean addMappings;
        private boolean customized;
        private final WebProperties.Resources.Chain chain;
        private final WebProperties.Resources.Cache cache;

优先级:

在这里插入图片描述

小拓展:

首页:

静态资源文件夹后,继续向下看源码!可以看到一个欢迎页的映射==WelcomePageHandlerMapping==,就是首页!

在这里插入图片描述

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

比如访问 http://localhost:8080/ ,就会找静态资源文件夹下的 index.html

新建一个 index.html ,然后访问测试 http://localhost:8080/

在这里插入图片描述

图标:

要修改项目的图标就要在资源里面配置一个照片,并且命名为==favicon.ico== 【新版的Spring Boot直接添加这个文件就okl】

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值