SpringBoot03:SpringBoot Web 开发

目录:

  • 1 前言
  • 2 静态资源导入
    • 2.1 静态资源映射规则
    • 2.2 使用 webjars 方法
    • 2.3 使用默认静态资源目录
    • 2.4 自定义静态资源文件夹
  • 3 Thymeleaf 模板引擎
    • 3.1 模板引擎
    • 3.2 导入 Thymeleaf 依赖
    • 3.3 Thymeleaf 使用
      • 3.3.1 Thymeleaf 的规则
      • 3.3.2 测试
    • 3.4 Thymeleaf 语法
      • 3.4.1 后端传送内容到前端显示
      • 3.4.2 前端遍历数据
  • 4 装配扩展 SpringMVC
    • 4.1 扩展视图解析器
    • 4.2 扩展格式化配置
    • 4.3 扩展视图跳转
    • 4.4 全面接管 SpringMVC

1 前言

在实际开发中,SpringBoot 通过自动装配帮我们解决许多问题,那么我们能不能自定义修改其中的一些内容呢?

SpringBoot 自动装配的代码位置:

  • ***Autoconfiguration:向容器中自动配置组件;
  • ***Properties:自动配置类,装配配置文件中自定义的内容。

SpringBoot 自动装配的过程:

  1. SpringBoot 启动会加载大量的自动配置类;
  2. 我们看我们需要的功能有没有在 SpringBoot 默认写好的自动配置类当中;
  3. 我们再来看这个自动配置类中到底配置了哪些组件;
  4. 给容器中自动配置类添加组件的时候,会从 ***Properties 类中获取某些属性。我们只需要在配置文件中指定这些属性的值即可;
  5. 对于 SpringBoot 本身,如果其发现存在用户手动配置的数据,那么就会使用用户配置的数据,如果没有,则使用 SpringBoot 默认的。

 


2 静态资源导入

2.1 静态资源映射规则

@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();
    // webjars 配置
    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));
    }
}

2.2 使用 webjars 方法

webjars 本质就是以 jar 包的方式引入我们的静态资源。

比如当我们想要使用 jQuery 时,我们只需在 https://www.webjars.org 查找引入 jQuery 对应版本的pom依赖即可。

<dependency>
    <groupId>org.webjarsgroupId>
    <artifactId

你可能感兴趣的:(Java,EE,spring,java,springboot)