手动构建springBoot启动器过程图解

我们都知道可以使用SpringBoot快速的开发基于Spring框架的项目。由于围绕SpringBoot存在很多开箱即用的Starter依赖,使得我们在开发业务代码时能够非常方便的、不需要过多关注框架的配置,而只需要关注业务即可。

其实springboot的一个启动器基本上就包含两个项目,一个是spring-boot-starter,另一个是spring-boot-autoConfigure

举个Json启动器的例子,这里面包含了josn的starter和autoConfiger,因为autoConfiger里面集成了许多的配置,所以就是其他的模块也共用了这一个,其实在这个autoConfiger项目里面主要是看spring.factories这个配置文件,这个里面配置springboot官方的模块的autoConfiger

我们刚才举的例子json的就在这里

其实总结起来也就是说,starter项目模块在pom文件中引入了autoConfiger这个项目,所以starter里面可以使用autoConfiger里面的东西。

其实写自己启动器也就是大致5个步骤

1:编写自己具体的业务,根据自己的需求。

2:xxxProperties配置文件的编写

3:xxxAutoConfigure的编写

4:将我们的启动类放到springboot项目中的resouces/META-INT下面的spring.factories(这个目录以及文件需要自己手动建)

5:将自己编写的自动配置安装到Maven仓库即可。

6:测试。

下面是我自己编写的一个简单的启动器:

第一步首先创建一个空项目,根据自己的需求创建。

第二步:编写peoperties

第三步:编写autoConfig

第四步:主要是我们的业务

第五步:创建META-INF/spring.factories文件

第六步:把项目打包并测试,在starter项目中引入autoConfig

最后一步,便是建立一个项目测试

其实是不是很简单,和我们平常的项目打包引入区别不大,主要是这个步骤牵涉到springboot的运行机制原理

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • spring boot如何指定启动端口

    这篇文章主要介绍了spring boot如何指定启动端口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 spring boot 默认端口为8080 1.修改为指定端口 (1)修改配置文件 src/main/resources/application.properties server.port=8081 (2)通过编码的方式来指定端口 在启动类中添加servletContainer方法 package com.example.demo; imp

  • Linux启动与停止spring boot工程的脚本示例

    在springboot项目启动有三种方式: 1.运行主方法程序 2.使用命令mvn spring-boot:run 在命令行运行 3.使用 mvn packpage打包位jar文件以后,使用java -jar yourapp.jar命令行运行 一般我们在开发的时候经常使用的是前面两种运行方式,在部署实施的时候使用的第三种方式,下面我们就重点说明下载linux环境中运行和停止springboot项目的指令和脚本: 一.指令 nohup 不挂断运行指令 一般在linux中可以直接使用: java -

  • SpringBoot为啥不用配置启动类的实现

    前言 在学习SparkJava.Vert.x等轻量级Web框架的时候,都遇到过打包问题,这两个框架打包的时候都需要添加额外的Maven配置,并指定启动类才能得到可执行的JAR包: 而springboot项目,似乎都不需要额外的配置,直接package就可以得到可执行的JAR包,这是怎么回事呢? Vert.x要怎么配? 我们先来看看,Vert.x打包做哪些配置 1)引入maven-shade-plugin插件 2)在插件中指定在package完成时触发shade操作 3)指定启动类 <plugin

  • SpringBoot中如何启动Tomcat流程

    前面在一篇文章中介绍了 Spring 中的一些重要的 context.有一些在此文中提到的 context,可以参看上篇文章. SpringBoot 项目之所以部署简单,其很大一部分原因就是因为不用自己折腾 Tomcat 相关配置,因为其本身内置了各种 Servlet 容器.一直好奇: SpringBoot 是怎么通过简单运行一个 main 函数,就能将容器启动起来,并将自身部署到其上 .此文想梳理清楚这个问题. 我们从SpringBoot的启动入口中分析: Context 创建 // Crea

  • SpringBoot启动及自动装配原理过程详解

    一.servlet2(老spring-mvc) 配置文件: web.xml:主要配置项目启动项 application-context.xml:主要配置项目包扫描.各种bean.事务管理 springMVC.xml:主要配置controller包扫描.视图解析器.参数解析器 启动过程: 每一个spring项目启动时都需要初始化spring-context,对于非web项目可以在程序main方法中触发这个context的初始化过程. 由于web项目的启动入口在容器,所以开发者不能直接触发sprin

  • SpringBoot启动报错Failed to determine a suitable driver class

    SpringBoot启动报错如下 Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2019-05-06 21:27:18.275 ERROR 10968 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** AP

  • SpringBoot启动后启动内嵌浏览器的方法

    1.下载内嵌浏览器Jar包 下载地址:点击下载 2.项目下加入对应jar:然后右键:Add as Library... 3.添加启动项目后事件 效果:内嵌浏览器打开指定页面,全屏 import com.teamdev.jxbrowser.chromium.Browser; import com.teamdev.jxbrowser.chromium.swing.BrowserView; import org.springframework.boot.ApplicationArguments; im

  • springboot+idea热启动设置方法(自动加载)

    springboot+idea热启动 1.在pom.xml中引入jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> 然后在build/plugins/plugin中设置

  • 手动构建springBoot启动器过程图解

    我们都知道可以使用SpringBoot快速的开发基于Spring框架的项目.由于围绕SpringBoot存在很多开箱即用的Starter依赖,使得我们在开发业务代码时能够非常方便的.不需要过多关注框架的配置,而只需要关注业务即可. 其实springboot的一个启动器基本上就包含两个项目,一个是spring-boot-starter,另一个是spring-boot-autoConfigure 举个Json启动器的例子,这里面包含了josn的starter和autoConfiger,因为autoC

  • 如何在docker中运行springboot项目过程图解

    一.IDEA中点击下方的Terminal 输入mvn clean install 出现如下图时表示成功(前提是本地必须安装了maven且配置了maven的环境变量) 打好的jar包在target目录下 二.然后新建个Dockerfile文件,内容如下 三.构建镜像:将Dockerfile和项目jar包放在服务器同一目录下,然后进入该目录 输入:docker build -t app . (注意后面有个点,app为自定义镜像名)构建镜像 查看镜像是否存在: docker images 四.运行刚才

  • Springboot创建子父工程过程图解

    这篇文章主要介绍了Springboot创建子父工程过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.创建子父工程 2.添加pom配置文件 2.1 父工程pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo

  • springboot自定义starter实现过程图解

    这篇文章主要介绍了springboot自定义starter实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.创建一个Empty Project 2.在该工程中点击+,选择new module,新建一个maven工程 点击确定. 3.在该工程中点击+,选择new module,新建一个Spring Initializr工程 后面直接默认next,然后点击finishi. 两个都创建完毕之后点击apply,点击OK.得到如下结构: 4

  • SpringBoot配置类编写过程图解

    这篇文章主要介绍了SpringBoot配置类编写过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.编写properties文件 2.编写配置类 3.编译项目将target\classes\META-INF\spring-configuration-metadata.json文件copy到resources\META-INF目录 这样以达到配置文件中自动提示配置项 4.配置文件中配置 5.其他类中可自动注入使用 以上就是本文的全部内容,

  • springboot整合jquery和bootstrap框架过程图解

    这篇文章主要介绍了springboot整合jquery和bootstrap框架过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.4.1</version> </dependency>

  • springboot创建拦截器过程图解

    这篇文章主要介绍了springboot创建拦截器过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.创建一个MyIntercepor实现HandlerInterceptor接口的类 二.创建一个WebMvcConfig实现WebMvcConfigurer的类 三.创建Controller以供访问 四.效果图 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • SpringBoot路径映射实现过程图解

    这篇文章主要介绍了SpringBoot路径映射实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 当然这个功能并非是springboot特有的,只是springboot提供了更简便的方法以供使用. 传统情况下我们跳转一个动态页面且并没有数据,也需要在controller中写一个跳转的controller. 也就是下面情况 这个时候我们就可以使用springboot的路径映射 我们只需要创建一个WebMvconfig类实现WebMvcCo

  • springboot多租户设计过程图解

    这篇文章主要介绍了springboot多租户设计过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. 概述 根据不同用户的请求,选择不同的数据源,不同的数据源可以是Oracle.MySQL或者其它.用到的技术栈,没有什么复杂的技术,可以看到,依赖也就加了几个而已,如下: 2. 先睹为快 如下图,header中tenant为zhangsan,则使用db_oauth为数据源,tenant为lisi,则使用db_test为数据源,tenant

  • Springboot+TCP监听服务器搭建过程图解

    最近从eclipese转到idea,也从SpringMVC转到Springboot,重新搭建了一个基于Springboot的TCP监听.话不多说,直接上图. 这边是监听的文件夹,其中,EchoThread是处理上传信息的线程,SocketPool是用来存放socket的,SpringListener是随项目启动的TCP监听程序. 1.先来说说这个SpringListener 首先要做的第一点就是监听随项目启动,springboot提供了两种方案,第一种就是像这样直接继承CommandLineRu

随机推荐