SpringBoot的web开发,实际上SpringBoot的Web开发与 普通Spring MVC的web开发非常接近,没有太大的区别。所以只要掌握了Spring MVC的开发,就能很快上手SpringBoot 的Web开发。
SpringBoot的web开发,基本可以分为以下三步:
- 创建工程
- 编写业务代码
- 编写前端页面
所有 /webjarsfavicon.ico 都在静态资源文件下寻找 favicon.ico是一个网站的图标文件。我们可以通过修改这个文件来自定义网站的图标。我们把任意一个资源文件夹下 放置自定义的favicon.ico文件,重新启动项目,就可以观察到网站图标的变化。
由于SpringBoot采用嵌入式的Tomcat,所以默认不支持JSP页面。但如果使用纯静态的html开发,又非常的繁琐,工作量很大。因此,SpringBoot推荐使用模板引擎。常见的模板引擎有JSP、velocity、Freemarker、Thymeleaf等。 SpringBoot推荐使用Thymeleaf引擎。它具有语法简单、功能强大等特点。
1,Thymeleaf规则 一、自动配置规则 Thymeleaf自动配置规则在spring-boot-autoconfiggure里面,我们需要根据配置规则来使用Thymeleaf。Thymeleaf的配 置规则封装在ThymeleafProperties里面。
二,通过ThymeleafProperties封装的规则,我们可以看到它有一个默认的前缀"classpath:/templates/"和一个默认的后缀 “.html”,由此可知,只要我们把HTML页面放在classpath:/templates/,thymeleaf就能自动渲染。
1.导入命名空间
在html页面引入,其作用是提示代码
2.获取请求域值 通常情况下,我们获取值用${xxx},在Thymeleaf中,利用th:text改变当前元素里面的文本内容,如div,需要注意的 是,div和th之间是空格
Thymeleaf表达式语法
- Variable Expressions: ${…}:获取变量值 获取对象的属性,调用方法,使用内置的基本对象或者内置的一些工具对象。
- Selection Variable Expressions: *{…} 选择表达式:和 在功能上是一样 . 例如: t h : o b j e c t = " {}在功能上是一样. 例如:th:object=" 在功能上是一样.例如:th:object="{session.user}:
- Message Expressions: #{…}:获取国际化内
- Link URL Expressions: @{…}:定义URL
- Fragment Expressions: ~{…}:片段引用表达式
不编写配置文件的前提下,我们可以编写一个配置类(@Configuration)来实现配置。其是 WebMvcConfigurerAdapter类型,不能标注@EnableWebMvc。优点是既保留了所有的自动配置,也能 用我们扩展的配置。
1.新建一个配置类MyMvcConfig,利用@Configuration注解来标识这是一个配置类,并集成抽象类 WebMvcConfigurerAdapter。
2.添加一个视图映射规则,使得请求映射到success页面。如下:
3.启动项目,访问gosuccess,可进入success页面
原理
- WebMvcAutoConfiguration是SpringMVC的自动配置类
- 在做其他自动配置时会导入;@Import(EnableWebMvcConfiguration.class)
- 容器中所有的WebMvcConfigurer都会一起起作用
- 我们的配置类也会被调用,最终SpringMVC的自动配置和我们的扩展配置都会起作用。
全面接管即SpringBoot对SpringMVC的自动配置不需要了,所有都是我们自己配置;所有的 SpringMVC的自动配置都失效了,实现方式就是需要在配置类中添加@EnableWebMvc。