SpringBoot简介及手写个starter

1、SpringBoot简介

官网介绍:

  • Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.
  • Spring Boot 可以轻松创建可以“直接运行”的独立的、生产级的基于 Spring 的应用程序。

特性

  • 创建独立的 Spring 应用程序
  • 直接嵌入 Tomcat、Jetty 或 Undertow(无需部署 WAR 文件)
  • 提供“starter”依赖项以简化您的构建配置
  • 尽可能自动配置 Spring 和 第三方调用库
  • 提供生产就绪功能,例如指标、健康检查和外部化配置
  • 完全无需代码生成,无需 XML 配置

最关键的一点:约定优于配置

2、创建自己的SpringBoot

  1. 新建 -> 选择 Spring Initializr
    在这里插入图片描述
  2. 填写如下配置
    在这里插入图片描述
  3. 目录结构
    在这里插入图片描述
  4. 测试一下
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 是web测试,所以需要引入spring-boot-starter-web,然后在配置文件中配置相关的web访问信息。
  • 配置文件支持.properties、.yml、.yaml格式。本质上是差不多的,不过properties格式是kv格式,yml是树状结构的,这种格式的选择看个人喜好了。

3、手写一个starter

面试中经常听到面试官说:如果让你手写个starter,你会怎么做。听到这个问题,第一反应,写个starter?我也配?
其实starter并没有想象中的那么复杂和困难。俗话说:没出过猪肉,还没见过猪跑吗?我们虽然没写过starter,但是借助官方文档说明和各种成熟的starter,想写出来一个自己的starter还是很简单的。

下面开始手写一个starter

前面提到过SpringBoot的特性提供“starter”依赖项以简化您的构建配置,starter会把所有用到的依赖都给包含进来,避免了开发者自己去引入依赖所带来的麻烦。

一个完整的Spring Boot starter可能包含以下组件

  • autoconfigure模块,包含自动配置类的代码。
  • starter模块,提供自动配置模块及其他有用的依赖,简而言之,添加本starter就能开始使用该library。

由于官方提供了许多“starter”,为了区分官方的“stater”和第三方的“stater”,官方建议第三方提供的Stater使用xxx-spring-boot-starter的命名规则(如:mybatis-spring-boot-starter),官方提供的Stater使用spring-boot-starter-xxx的规则(如:spring-boot-starter-web、spring-boot-starter-jdbc)。

  1. 创建一个starter,命名myself-spring-boot-starter,spring项目
  2. starter的处理
    在这里插入图片描述
  3. 业务需要用到的一些属性值
    在这里插入图片描述
  4. 将自己的业务类交给spring管理
    在这里插入图片描述
  5. 小小的配置
    在resource/META-INF下新建spring.factories文件,
    配置starter中的配置类的位置
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.myselfstarter.autoconfigure.StarterAutoConfiguration
  1. mvn install 将包打包至自己仓库中,在另外的项目中直接引用即可
    在这里插入图片描述
  2. 测试
    在这里插入图片描述
    在这里插入图片描述
    可以看到 我们自定义的starter是可以使用的。

我们看看mybatis-plus-spring-boot-starter是怎么写的在这里插入图片描述在这里插入图片描述
在这里插入图片描述
PS:我们观察其他第三方很成熟的starter,他们的基本套路也是这样,所以说手写一个starter根本没有什么怕的!!!

这个文章就到这了,下次介绍springboot的自动装配和常用注解。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值