初步认识springboot

引子

鉴于项目核心使用的是springboot,有必要对springboot做一些学习认识。

springboot之自动化配置

一切起源于@SpringBootApplication标注的主启动类

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(GulimallProductApplication.class, args);
    }

}

该类的主启动类会启动容器、扫描包注入组件、完成一些列初始化操作。
详细的说,@SpringBootApplication包含了几个关键注解:@SpringBootConfiguration
@EnableAutoConfiguration。@ComponentScan基于@EnableAutoConfigration,该注解含有import类,利用ConfigrationsFactory加载"META-INFO/spring.factory"下所有的组件,导入的每一个组件基本拥有@Configration标注该类是springboot的ioc容器中的组件,@ConditionalOnXX,表示该组件在什么情况下导入,@AutoConfigrationProperties(xxx.class)与配置类绑定,相应的配置类含有ConfigurationProperties(prefix=“xxx.xxx”)含意是从配置文件中的相同前缀中取值。@ComponentScan表示扫描标注该注解下的类的目录下所有的包都将被扫描,
所以,一旦@SpringBootApplication标注的类启动,就会根据规则扫描包下组件和第三方场景下的jar中的组件,并自动装配赋值。

springboot之核心组件

springboot拥有几个核心组件。

1.Spring Boot Starter

starter是某个服务或一些列服务的场景启动器,只需要在maven工程中倒入相关的服务starter,配置一些东西,就能简单使用它所提供的功能了。starter本身不含有服务逻辑代码,而是整合封装了这些具有功能逻辑代码的依赖,例如:mybatis-spring-boot-starter
这个场景启动器,是mybatis服务的starter,这个依赖自动引入了jdbc驱动、mybatis核心等spring整合mybatis需要的依赖项,我们不需要再另外考虑或是担心mybatis的东西,只需要做一些简单的配置,便能用起来了。

2.Autoconfigure

这个前面有提到springboot的容器自动化配置,当然我们也可以自定义一些autoconfigure。

3.Spring Boot CLI

Spring Boot CLI是一个命令行使用Spring Boot的客户端工具;主要功能如下:
运行groovy脚本
打包groovy文件到jar
初始化Spring Boot项目
可以命令行直接执行groovy脚本

4.Spring Boot actuator

这个目前还在探索阶段,没有具体使用过。actuator是Spring Boot的监控插件,本身提供了很多接口可以获取当前项目的各项运行状态指标。

其他

上文描述的只是springboot的冰山一角,这个庞然大物还需要继续花时间学习下去,欢迎指正与指导!

上一篇:基于Spring Cloud的全自动化微信公众号消息采集系统


下一篇:老生常谈的问题:Spring Boot中如何一键自定义starter?