SpringBoot---Web开发第一部分(1)

  • Spring Boot配置静态资源访问

  • Thymeleaf使用

    • Thymeleaf 中文教程链接如下,此部分一笔带过,建议看下方文档学习
  • 1.引入 Thymeleaf 命名空间

  • 2.创建模板文件

  • 3.语法规则

    • th: 任意html属性; 来替换原生属性的值.
  • 常用th语法

  • SpringBoot对SpringMVC的默认配置—WebMvcAutoConfiguration类

    • springBoot对视图解析器的处理
    • 自定义的视图解析器,只要放到了容器中,便会被springboot自动使用
  • springboot中自定义视图解析器步骤如下

  • springBoot的转换器和格式化器

  • springBoot的HttpMessageConverters(消息转换器)

  • springBoot的MessageCodesResolver(消息代码解析器)和ConfigurableWebBindingInitializer(数据绑定器)

  • 修改SpringBoot默认配置

    • SpringBoot在自动配置很多组件的时候,先看容器中有没有用户自己配置的(@Bean,@Component),如果有就用用户配置的,如果没有,才自动配置;
  • 如果有些组件有多个(ViewResolver)将用户配置和自己默认的组合起来

  • 扩展SpringMVC

    • 扩展方式: 编写一个配置类(@Configuration),是WebMvcConfigurerAdapter类型,不能标注@EnableWebMvc
    • 既保留了所有的自动配置,也能使用我们的扩展配置
  • 原理

    • 效果:SpringMvc的自动配置和我们的扩展配置都会起作用
  • 全面接管SpringMVC===>@EnableWebMvc注解,自动配置失效

    • 失效原理
  • 在SpringBoot中会有非常多的xxxConfigurer帮助我们进行扩展配置。

  • 在SpringBoot中会有很多的xxxCustomizer帮助我们进行定制配置。

Web开发简介

======================================================================

在这里插入图片描述


SpringBoot对静态资源映射规则

==================================================================================

webjars官网链接


webjars官网

映射规则一: 通过webjars以jar包的方式引入静态资源,如jquery,bootstrap等


在这里插入图片描述

在这里插入图片描述


映射规则二:" /** " 访问当前项目的任何资源 (静态资源的文件夹)


在这里插入图片描述

例如: 访问localhost:8080/abc时,如果没人处理,那么默认就去这些存在的静态资源文件夹中寻找对应资源


首页(欢迎页):静态资源文件夹下的所有index.html页面,被 " /** "映射


localhost:8080/ 默认找index页面


所有的 **/favicon.ico 都是在静态资源文件下找----访问网页时,网页上面显示的图标


eg. 我们在public目录下添加一个 favicon.ico ,然后刷新刚才的页面:发现图标发生了变化:

原本是: 在这里插入图片描述

变成了: 在这里插入图片描述


修改静态资源文件夹的位置


当然了,我们也可以修改静态资源文件夹的位置: 在application.properties文件中,

通过 spring.resources.static-location=classpath:// 来指定新的位置。

在这里插入图片描述

请注意:指定新的静态资源文件夹的位置之后,springboot默认的就不生效了,也就是说我们要通过我们指定的文件夹的位置去访问静态资源,以前的不能访问。

在这里插入图片描述

SpringBoot对静态资源的映射规则可以参考下面这篇文章

SpringBoot对静态资源的映射规则


模板引擎

===================================================================

在这里插入图片描述


SpringBoot推荐Thymeleaf ==>语法简单,功能更强大


引入Thymeleaf 的启动器

org.springframework.boot

spring-boot-starter-thymeleaf

修改springboot提供jar包默认版本的方式

在这里插入图片描述


Thymeleaf语法


在这里插入图片描述

我们只要把HTML页面放在classpath:/templates/ ,thymeleaf就可以自动渲染


thymeleaf默认只会渲染templates文件夹下的页面,其他静态资源文件夹下面的页面即使引入了命名空间,也不会被渲染,我们可以修改thymeleaf默认渲染路径

如何修改默认设置:

spring:

thymeleaf:

prefix: classpath:/static/

thymeleaf如何修改默认渲染路径


Spring Boot配置静态资源访问

Spring Boot配置静态资源访问,整合Thymeleaf模板

Spring Boot静态资源访问和配置全解析(看不懂你打我)


Thymeleaf使用


Thymeleaf 中文教程链接如下,此部分一笔带过,建议看下方文档学习

Thymeleaf 教程

Thymeleaf Tutorial 文档 中文翻译

官方帮助文档

thymeleaf参考手册(CSDN版本)


1.引入 Thymeleaf 命名空间


2.创建模板文件

Index Page

Welcome to BeiJing!


3.语法规则


th: 任意html属性; 来替换原生属性的值.

Index Page

Welcome to BeiJing!

在这里插入图片描述


常用th语法

在这里插入图片描述


SpringBoot对SpringMVC的默认配置—WebMvcAutoConfiguration类


springBoot对视图解析器的处理

在这里插入图片描述

自定义的视图解析器,只要放到了容器中,便会被springboot自动使用

springboot中自定义视图解析器步骤如下

自定义一个自己的解析器然后注册到Bean里面

//如果你想自定义一些定制的功能,只要写这个组件,然后将它交给springboot,springboot就会自动装配

//扩展SpringMVC dispatchservlet

@Configuration //使当前这个类变成配置类

//一但表注了@EnableWebMvc,那么MVC将被全面接管

public class MyMvcConfig implements WebMvcConfigurer {

//public interface ViewResolver 实现了视图解析器接口的类,我们就可以把它看做视图解析器

/第二步:将自己写的视图解析器注册到Bean里面,它就会自动帮我们装配上/

@Bean

public ViewResolver MyViewResolver() {

return new MyViewResolver();

}

/第一步:自定义了一个自己的视图解析器MyViewResolver/

public static class MyViewResolver implements ViewResolver {

@Override

public View resolveViewName(String s, Locale locale) throws Exception {

return null;

}

最后

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

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

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

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**

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

[外链图片转存中…(img-dGaV1lpq-1715600360230)]

[外链图片转存中…(img-vIEoDPZ7-1715600360230)]

[外链图片转存中…(img-TXa2L5St-1715600360231)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值