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静态资源处理
处理方式
静态资源名称 | 访问路径 |
---|---|
webjars | localhost:8080/webjars/ |
public,static,/**,resource | localhost: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模板引擎
欢迎指导,和指出不足!