1、SpringBoot基本信息
SpringBoot是Pivotal
团队在2013年开始研发,到2014年4月首次发布的一个基于Spring4.0的轻量级快速开发框架。用来简化Spring应用的初始搭建以及开发过程
2、SpringBoot的特点
1、遵循约定优于配置的原则(convention over configuration
)
2、提供start pom,进行搞笑的包管理
3、简化配置,无需xml
4、内嵌servlet容器
5、与主流框架集成简单
3、SpringBoot的核心
1、自动配置(auto-configuration
)
2、starter
3、SpringBoot Cli
4、actuator
3.1、自动配置(装配 )
配置加载的三个阶段:
1、第一个阶段:
使用.xml文件的配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
default-lazy-init="true">
<bean id="mockService" class="..MockServiceImpl">
<propery name ="dependencyService" ref="dependencyService" />
</bean>
<bean id="dependencyService" class="DependencyServiceImpl"></bean>
</beans>
2、第二个阶段
Spring3.0之后提出@Configuration
注解。@Configuration
注解用来定义配置类,和@Bean
注解搭配使用。
@Configuration
注解相当于xml文件中的<beans>
标签
@Configuration
public class MockConfiguration{
@Bean
public MockService mockService(){
return new MockServiceImpl(dependencyService());
}
@Bean
public DependencyService dependencyService(){
return new DependencyServiceImpl();
}
}
3、第三个阶段
SpringBoot的自动配置,不用写xml文件,不用写@Configuartion类,直接通过读取properties文件填写配置即可。
自动装配的实质是:
- 1、继承
spring-boot-starter-parent
,继承spring-boot-depencies
,引入spring-boot-autoconfigure
- 2、使用注解
@EnableAutoConfiguration
。
注解@EnableAutoConfiguration
内部使用了@Import
注解,导入了AutoConfigurationImportSelector类
(具体代码:@Import({AutoConfigurationImportSelector.class}
))
AutoConfigurationImportSelector
继承并实现ImportSelector
。- 3、通过
selectImports
加载自动配置信息- 4、通过getCandidateConfigurations加载META-INF/spring.factories文件
- 5、spring.factories文件中存放需要加载的类路径
- 6、spring官方已经继承了1百多个框架
- 7、第三方集成的框架有
MybatisAutoConfiguration
,DubboAutoConfiguration
,PageHelperAutoConfiguartion
等
3.2、starter pom
starter是Springboot中一个非常重要的模块,Starter相当于模块,能将模块所需要的依赖的所有依赖整合起来,并对模块内的Bean根据条件自动配置,使用者只需要依赖相应功能的Starter即可,无需增加更多的配置和依赖,SpringBoot自动扫描并加载对应模块里的类
常用的自定义的starter
- mybatis-spring-boot-starter
- pagehelper-spring-boot-starter
- dubbo-spring-boot-starter
实现自定义starter的步骤:
1、新建一个Maven项目,在项目的pom文件中定义使用的依赖
2、新建的配置类,写好配置项和默认的配置值,指明配置项前缀
3、新建自动装配类,使用@Configuration
和@Bean
来进行自动装配
4、新建spring.facatories文件,指定starter的自动装配类
3.3、SpringBoot CLI
SpringBoot CLI是一种快速开发Spring应用的命令行界面,可以通过写groovy脚本来实现Spring应用的编写和启动。
3.4、Actuator
Actuator是SpringBoot提供的对应用程序系统的监控功能,可以对应用系统进行配置查看和相关功能的统计
Actuator功能的使用
- 1、添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>2.5.1</version> </dependency>
- 2、添加配置文件
management.server.port=8899 actuator的监视端口 management.server.servlet.context-path=/actuator 访问路径 management.endpoints.web.exposure.include=* 默认开始health和info,设置*包括所有的web端口 management.endpoint.shutdown.enabled=true 打开默认关闭的shutdown端点
- 3、功能查看
http://localhost:8899/actuator/actuator/beans 显示应用中所有的SpringBeans的完整列表
http://localhost:8899/actuator/actuator/env 显示来自Spring的ConfigurableEnvironment的属性
http://localhost:8899/actuator/actuator/info 显示任意的应用信息
http://localhost:8899/actuator/actuator/metrics 展示当前应用的metrics的信息
http://localhost:8899/actuator/actuator/mappings 展示所有@RequestMapping路径下的集合列表
结尾
参考文档
网友评论