首页 > 其他分享 >springboot starter使用

springboot starter使用

时间:2023-07-06 10:33:49浏览次数:36  
标签:Spring springboot spring boot springframework 使用 org starter

实现自定义starter

pom.xml依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.6</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>com.example</groupId>
  <artifactId>spring-boot-starter-demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>spring-boot-starter-demo</name>
  <description>Demo project for Spring Boot</description>

  <properties>
    <java.version>1.8</java.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-configuration-processor</artifactId>
      <optional>true</optional>
    </dependency>

  </dependencies>
</project>

resources 下新建META-INF 文件夹

spring.factories 文件内容

org.springframework.boot.autoconfigure.EnableAutoConfiguration=org.example.conf.TosConfig

关键词:开箱即用、减少大量的配置项、约定大于配置。

总结
Spring Boot在启动时扫描项目所依赖的JAR包,寻找包含spring.factories文件的JAR包,
然后读取spring.factories文件获取配置的自动配置类AutoConfiguration`,
然后将自动配置类下满足条件(@ConditionalOnXxx)的@Bean放入到Spring容器中(Spring Context)
这样使用者就可以直接用来注入,因为该类已经在容器中了。

标签:Spring,springboot,spring,boot,springframework,使用,org,starter
From: https://www.cnblogs.com/rise0111/p/17531432.html

相关文章

  • Python 使用xlsxwriter绘制Excel表格
    最近在统计资产,正好看到了xlsxwriter这个表格生成模块,借此机会,熟悉一下,写点有趣的小案例,一开始想使用C++QT图形化开发一套自动化运维平台,但后来发现不仅消耗时间而且需要解决QTQssh远程模块的一些问题,后来没有使用QT做,xlsxwriter模块来做非常的简单,所以使用它。上班不能摸鱼,我要......
  • SpringBoot笔记:SpringBoot启动参数配置
    springboot启动参数/usr/local/jdk/jdk1.8.0_261/bin/java-jar-server\ ##服务模式,linux默认是server模式,window默认是client参数-XX:+HeapDumpOnOutOfMemoryError\ ##当OOM发生时自动生成HeapDump文件-XX:HeapDumpPath=/usr/local/springboot_......
  • 使用html2canvas生成网页截图并下载
    1.安装依赖npminstallhtml2canvas--save2.引入依赖importhtml2canvasfrom"html2canvas";3.使用示例<template><div><a@click="toImage()">下载</a><divref="imageTofile"> 要截屏的控件内容</div>&......
  • 为什么要使用消息队列
    为什么要使用消息队列(MQ)?可以列举一些MQ的优点吗?使用消息队列(MQ)有几个主要的优点:解耦:通过使用消息队列,系统之间可以实现解耦。一个系统产生的数据可以通过消息队列发布,其他系统可以订阅该消息并消费,而无需直接与数据产生系统进行交互。这种解耦方式降低了系统之间的依赖性,减少......
  • 使用vue-super-flow的使用进行工作流的梳理
    1.安装依赖npminstallvue-super-flow2.在页面中引用<template><super-flow></super-flow></template><script>importSuperFlowfrom'vue-super-flow'import'vue-super-flow/lib/index.css'exportdefault{......
  • 使用部分写时复制提升Lakehouse的 ACID Upserts性能
    使用部分写时复制提升Lakehouse的ACIDUpserts性能译自:FastCopy-On-WritewithinApacheParquetforDataLakehouseACIDUpserts传统的写时复制会直接读取并处理(解压解码等)整个文件,然后更新相关数据页并保存为新的文件,但大部分场景下,upsert并不会更新所有数据页,这就导致......
  • WordPress主题,当前页面使用了哪个template模板文件?
    对于页面与模板的对应情况一般都是能确定的,不过新朋友一时不熟悉可能还是需要花一点时间。其实,可以有一个小技巧,可以快速确定当前页面对应的模板文件。想要实现上面的效果,只需将下面代码加入主题的 functions.php 文件。functionzhuige_admin_bar_init(){//Ifnota......
  • go select 使用总结
    转载请注明出处:在Go语言中,select语句用于处理多个通道的并发操作。它类似于switch语句,但是select语句用于通信操作,而不是条件判断。select语句会同时监听多个通道的操作,并选择其中一个可用的通道进行操作。select语句的语法如下:select{case<-channel1://......
  • vuex的使用
    下载安装npmivuex搭建vuex环境1.创建文件:src/store/index.js//引入Vue核心库importVuefrom'vue'//引入VueximportVuexfrom'vuex'//应用Vuex插件Vue.use(Vuex)//准备actions对象——响应组件中用户的动作constactions={}//准备mutations对象——修改state......
  • 使用parcel搭建three.js开发环境
    目录1、安装2、项目设置3、打包脚本为了方便模块化进行three.js项目的学习和开发,又不用学习太多的配置,增加学习成本,所以就使用Parcel这个web应用打包工具。Parcel官网:https://v2.parceljs.cn/getting-started/webapp/1、安装​在开始之前,您需要安装Node和npm,并为您......