springboot学习【奔跑吧!JAVA】
1.springboot定义
springboot是一个开源框架,中心思想是自动配置,简化开发。他是为了将spring中各种繁复的配置进行简化,以约定大于配置的理念进行了一系列的封装,并且通过依赖注入等实现高内聚低耦合的结构。由于框架里面内嵌了tomcat等一系列的容器,集成了大量常用的第三方类库,提供了各种默认配置来简化项目的开发配置工作,让开发人员不用将过多精力都浪费在配置各种xml中,达到了开箱即用的开发模式。
2.springboot的创建
2.1可以通过官网进行创建,Quick start模块进行快速搭建springboot项目
2.2 可以通过IDE(以IDEA为例)中的spring initializr模块进行快速搭建springboot项目
2.2.1 选择jdk版本,并且选择通过官网还是其他镜像网址进行搭建
2.2.2 按照需求设置组、版本、打包类型、java的版本
2.2.3 勾选需要的模块,一般web项目就勾选web就行了
2.2.4 完成springboot项目的创建
其中@springBootApplication注解的是标记主启动项,可以看出底层还是spring的@component组件进行注解的。
可以看出springboot项目的主要结构:是一个程序的主启动类、一个 application.properties或者application.yml配置文件进行项目个性化配置、一个依赖配置文件pom.xml进行依赖和插件的管理、测试类进行测试和若干业务代。
pom.xml依赖配置文件中首先能够看到的是<parent></parent>父依赖,里面集成了一系列第三方类库包括内嵌的tomcat容器,disparcherServlet控制、xml整合等默认配置的处理,其中spring-boot-dependencies是对核心依赖的版本控制,因此依赖中可以不用写版本号,还有资源过滤控制等,group、artifactId和version组成了项目的专属坐标,dependencies中就是项目所需的依赖管理,比如spring-boot-starter-web是web项目的核心依赖,spring-boot-starter-test是测试类的核心依赖等,plugins是插件的管理部分比如打包插件spring-boot-maven-plugin。。。
其中springboot banner定制启动头部的展示图画通过在resources中创建banner.txt将需要设置的图画或者文字复制进去重启项目就可以实现变更。
2.2.5 自动装配
首先通过扫描加载,导入启动类下的所有配置的依赖资源,即自动配置核心文件的中的自动装配的资源,路径是org.springframework.boot.autoconfigure包下的配置项中的META-INF/spring.factories,再通过一系列方法将里面的自动配置类遍历出来封装到Properties中,因为导入了这么多不可能全部都使用,在对应的自动配置类中XXXautoConfiguration中有个核心注解@ConditionalOnXXX,如@ConditionalOnClass里面有一些条件只有全部条件都满足才会生效完成启动。而如何满足条件?主要是通过依赖中的start启动项进行启动的,即在pom.xml中配置了start-XXX的依赖,就会完成启动这个启动器的配置,让他可以满足启动条件,进行启动加载,完成他的自动装配。
- 点赞
- 收藏
- 关注作者
评论(0)