首页 > 其他分享 >关于starter-封装自己的starter

关于starter-封装自己的starter

时间:2023-03-06 10:44:27浏览次数:38  
标签:封装 自定义 Spring 配置 应用程序 starter 关于 Starter

starter概念

在Spring Boot中,Starter是一组预配置的依赖项,旨在使您的应用程序轻松地集成和配置所需的功能。Starter通常包括自动配置类,该类为您的应用程序配置必需的Bean和依赖项。通过引入Spring Boot Starter,您可以快速启动并配置应用程序,而不需要手动配置大量的依赖项。

Spring Boot Starter命名约定为"spring-boot-starter-",其中""表示所需的库或组件。例如,如果您要使用Spring MVC作为Web框架,只需将"spring-boot-starter-web"添加到项目中即可。Spring Boot会自动配置所需的组件和依赖项。

您也可以创建自己的自定义Starter,这将使您能够共享您的代码和依赖项集合,并使您的应用程序更容易维护。自定义Starter通常包括:

  • 配置类:定义您的Starter所需的配置属性
  • 自动配置类:根据配置属性自动配置您的应用程序
  • Starter类:将配置类和自动配置类组合在一起,并充当您的Starter的入口点

通过创建自己的Starter,您可以减少应用程序的配置工作量,提高代码的可重用性,并使代码更加模块化和易于维护。

封装自己的starter

  1. 选择适合您项目的Spring Boot版本。

  2. 创建一个Maven项目。

  3. 将所需的依赖项添加到Maven项目的pom.xml文件中。您可以从Spring官方网站下载spring-boot-starter-parent依赖项,它包含了大量常用的依赖项,例如spring-boot-starter-web、spring-boot-starter-data-jpa等等。

  4. 创建一个自定义的配置类,并在其中定义必要的配置属性。

  5. 创建自定义的自动配置类,以根据您的自定义配置属性来配置应用程序。

  6. 创建一个自定义的Starter类,它将配置类和自动配置类组合在一起,并使它们成为您的Starter的主要入口点。

  7. 将您的Starter发布到Maven中央存储库或者私有的Maven仓库。

  8. 在您的项目中引入您自己的Starter,使用Maven或Gradle将其添加到项目的依赖中。

  9. 在您的项目中使用自定义配置属性,可以使用@ConfigurationProperties注解将它们绑定到您的Java类中。

通过封装自己的Starter,您可以在多个项目中重复使用代码,提高了代码的复用性,也可以减少配置的工作量,从而更快速地启动项目。

标签:封装,自定义,Spring,配置,应用程序,starter,关于,Starter
From: https://www.cnblogs.com/origin-zy/p/17182901.html

相关文章

  • JAVA--关于递归
    递归概念: 方法直接或者间接的方式调用自己本身,这样的形式称为递归递归的三要素: 1、要有边界条件,也就是停止递归的条件; 2、有点像循环,需要给一个前进条件,每次......
  • 《鞅与一类关于停时的概率与期望问题》学习笔记
    发现自己学的脑子都没了,重新系统的学(抄)一遍 $1\\$鞅与鞅的停时定理$1.1\$鞅定义$1.1.1.\$随机过程对于每一个参数\(t\inT,\omega\in\Omega\),\(X(......
  • 浙里办通用请求的封装
    开发浙里办应用都知道,我们发布到线上的接口需要按这样的方式去请求:但是往往本地开发的时候是连得公司测试环境,而且接口调用方式也不长这样。我第一次开发浙里办项目的时......
  • ES6-ES11 Promise封装读取文件
    原视频//1.引入fs模块constfs=require('fs');//2.调用方法读取文件//fs.readFile('./resources/为学.md',(err,data)=>{////如果失败,则抛出错误//......
  • ES6-ES11 Promise封装AJAX
    原视频<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><titl......
  • 关于图书管理系统的改良
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>#include<windows.h>#defineLENsizeof(book)type......
  • tailwindcss_封装
    /admin-one-vue-tailwind-master/index.html<!DOCTYPEhtml><htmllang="zh"><head><metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=ed......
  • 关于vuex
    state:{count:0}//原始形式调用时插值表达式形式<div>{{$store.state.count}}</div>赋值函数形式是在computed中important{mapStatte}from'vuex'computed:{...map......
  • 关于Selenium启动Chrome浏览器闪退问题
    两行代码有时候并不能解决问题option=webdriver.ChromeOptions()option.add_experimental_option(“detach”,True)闪退的原因在保证webdriver版本和浏览器版本一致时,seleniu......
  • 关于hibernate执行sql语句后,进程不关闭的问题
    写了一个简单的测试程序,就是java查询数据库的,后面发现了数据库查询结束后,进程一直不会结束,在调试的时候,发现生成了一个线程,是这个线程不关闭。/****/packagecom.test.my......