一、什么是springBoot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
在这里我讲一下SpringBoot的 主要优势 :
(1)简约配置 : Springboot里面省略了繁琐的xml文件的配置,只需要导入相关的依赖,配置一个总的配置文件即可,提供了自动配置的特性,可以根据项目的依赖和配置文件自动配置应用程序。这样可以大大减少开发人员的配置工作,提高开发效率。
(2)内嵌服务器: SpringBoot里面自带了web服务器 TomCat ,可以直接打包成可执行的 JAR 文件,方便部署和运行。
(3)约定大于配置 : 也可以叫做约定优于配置(convention over
configuration),也称作按约定编程,是一种软件设计范式,指在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。
二、springboot项目搭建
1. 创建SpringBoot项目
(1)选择创建Spring项目
(2) 写的是项目名称
(3) 选择项目的保存路径
(4)选择创建maven项目
(5)java目录下的包名称(自己随意)
(6)选择java JDK版本 现在一般是11
2. 选择配置文件
(1) 选择创建SpringBoot项目的版本号
(2)选择所需要配置的依赖
3. 就完成了基本SpringBoot框架的搭建
之后就是自己写代码:
分层开发:
model层: 写的是实体类
mapper层: 数据持久层
Service层: 业务逻辑层
controller层: 控制层
还有许多层,分层开发使得软件系统更加灵活,易于测试和维护,同时也便于团队协作开发。通过明确的层次划分,可以降低各个组件之间的耦合度,提高系统的稳定性和可扩展性。
三、 自动装配
在这里咱们讲一下SpringBoot的自动装配原理:
Spring Boot的自动装配是其核心特性之一,通过它可以简化Spring应用的配置。下面我将从几个方面解释Spring Boot的自动装配原理。
1. Spring Boot Starter
Spring Boot提供了许多“starter”依赖,这些starter包含了各种自动装配的配置文件和依赖。例如,spring-boot-starter-web
包含了创建Web应用所需的依赖和自动配置。
2. @SpringBootApplication
注解
@SpringBootApplication
注解是一个组合注解,包含了@SpringBootConfiguration
,@EnableAutoConfiguration
和@ComponentScan
。
@SpringBootConfiguration
是@Configuration
的一个特化,用于标注配置类。@EnableAutoConfiguration
启用Spring Boot的自动配置机制。@ComponentScan
扫描指定包及其子包中的组件。
3. @EnableAutoConfiguration
和META-INF/spring.factories
@EnableAutoConfiguration
注解触发自动装配逻辑。Spring Boot通过读取META-INF/spring.factories
文件中的配置,加载所有spring.factories
文件中定义的自动配置类。
4. SpringFactoriesLoader
SpringFactoriesLoader
是Spring Framework中的一个工具类,用于加载spring.factories
文件中配置的工厂类。Spring Boot利用它加载所有在spring.factories
文件中定义的自动配置类。
5. 自动配置类
自动配置类通常使用@Configuration
注解,类似于手动配置类。它们通过条件注解(如@ConditionalOnClass
,@ConditionalOnMissingBean
,@ConditionalOnProperty
等)来控制配置的生效条件。例如,只有在某个类存在时,某个bean才会被实例化。
6. 条件注解
@ConditionalOnClass
:当类路径下存在指定的类时,配置生效。@ConditionalOnMissingBean
:当Spring上下文中不存在指定的bean时,配置生效。@ConditionalOnProperty
:当指定的配置属性存在且具有特定值时,配置生效。
7. 核心流程
- 启动类使用
@SpringBootApplication
注解。 - 通过
@EnableAutoConfiguration
启用自动配置。 - Spring Boot读取
META-INF/spring.factories
,加载自动配置类。 - 每个自动配置类通过条件注解决定是否生效。
- 生效的配置类向Spring上下文注册bean。
通过以上步骤,Spring Boot可以根据项目依赖和配置,自动配置合适的Spring组件,简化开发过程。