韫钰的笔记---SpringBoot(总结篇一)

本文介绍了SpringBoot的基础概念和主要特性,包括自动配置、内嵌容器、资源处理等。通过示例展示了如何创建第一个SpringBoot项目,并对比了传统配置与YAML配置的优势。此外,还提及了Thymeleaf模板引擎的应用。
摘要由CSDN通过智能技术生成

SpringBoot

基础介绍

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

SpringBoot所具备的特征有:自动装配 yml

SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决

特点

(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

(2)内嵌Tomcat或Jetty等Servlet容器;

(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

(4)尽可能自动配置Spring容器;

(5)提供准备好的特性,如指标、健康检查和外部化配置;

(6)绝对没有代码生成,不需要XML配置

编辑第一个SpringBoot项目

开始准备工具:

  • IntelliJ IDEA 2021.2.2

  • Maven 3.6.1

  • 本地仓库

  • jdk1.8

  • tomcat

yaml给属性赋值的方式

使用好处:可以支持多绑定和JSR-303绑定等等功能

选择使用那个配置文件:不用重复创建配置文件用 --- 隔开即可 选择使用那个配置文件spring:profiles: active

传统方式:

yaml方式:

yml的优势

1、通过debug=true来查看那些自动配置生效那些自动配置不生效

2、yml只需一个配置文件就可·以代替其它多个配置文件

SpringBoot静态资源处理

处理方式

静态资源名称访问路径
webjarslocalhost:8080/webjars/
public,static,/**,resourcelocalhost:8080/

优先级

resources > static(默认) > public

源码展示

@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));
    }
}

Thymeleaf模板引擎

欢迎指导,和指出不足!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值