当前位置: 首页 > article >正文

自定义Spring-start学习笔记

Spring Boot Start的创建和使用

start的工作原理(网图)

在这里插入图片描述

1. 设置Maven项目

创建一个新的Maven或Gradle项目,并在项目的pom.xml文件中添加必要的Spring Boot依赖项和插件。下面以maven项目为例:

  1. 创建Spring Boot项目

在这里插入图片描述

,并在项目的pom.xmlbuild.gradle文件中添加必要的Spring Boot依赖项和插件。

在这里插入图片描述

然后点击“Create”创建项目

创建后的项目文件结构为:如下图所示
在这里插入图片描述

我这里创建的项目结构中没有src/main/resources/META-INF文件,可以右击选择创建目录如下

在这里插入图片描述

然后就可以看到创建“resources‘文件,直接点击下面的选项创建即可。
在这里插入图片描述
接着创建一个META-INF文件,注意使用的短横线不是下划线。

  1. 创建spring.factories文件:在src/main/resources/META-INF目录下创建一个名为spring.factories的文件,并指定你的自动配置类的全限定名。这个文件是Spring Boot在启动时查找自动配置类的地方。

    # spring boot start
    org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.test.test.TestConfig
    
  2. 定义自动配置类:创建一个带有@Configuration注解的Java类,该类将包含你的Starter提供的所有bean定义和默认配置。你可以使用@Bean注解来定义bean,并使用@ConditionalOn...注解来指定bean的创建条件。

  3. 打包和发布:将你的Starter打包为一个JAR文件,并将其发布到Maven中央仓库或本地的Maven仓库中。(本例子使用的是下载到本地仓库的方法)

    • 首先找到IDEA的maven管理界面,通常在idea界面的右侧边栏
      在这里插入图片描述

    然后点击install将自定义的start下载到本地仓库
    在这里插入图片描述

    如果你没有编写测试类,或者测试错误可能会产生如下的错误
    在这里插入图片描述

    这时候在maven的管理面板上点击如下按钮(跳过测试)
    在这里插入图片描述

    效果如下:
    在这里插入图片描述

    然后重新install控制台显示如下信息,表示安装到本地仓库成功。

    在这里插入图片描述

    如果你想查看你安装到本地仓库的自定义start,那么可以在Idea的settings中的maven中试着查看你maven本地仓库(Local repository)的路径/
    在这里插入图片描述

    C:\Users\Administrator\.m2\repository  #路径,.m2为隐藏文件,需要打开隐藏文件查看
    

在这里插入图片描述

找到对应的路径,就可以找到repositry文件,然后点开之后,文件的存放是按照项目的文件层次存放的

比如:项目的路径是com.test.test,那么查找下载的本地仓库的中文件应该这样查找:先找到com文件,再在com文件中找到test文件,然后继续在test文件中找到其包含的test文件,如下图所示。
在这里插入图片描述

在需要的项目中引入如下,这是在自定义的start的项目信息。相关介绍(链接)

		<dependency>
            <groupId>com.test</groupId>
            <artifactId>test</artifactId>
            <version>1.0.0</version>
        </dependency>

在这里插入图片描述

然后在pom文件中加载依赖,如果没有右上角没有自动显示更新的按钮,那么可以用如下方式手动加载。
在这里插入图片描述

  1. 测试你的Starter:创建一个简单的Spring Boot应用程序来测试你的Starter。通过注入你的Starter提供的bean来验证它们是否按预期工作。
/**
 * 测试类
 *
 */
@SpringBootTest
public class TestClient {


    @Autowired
    private PrintUserClient testClient;

    @Test
    void test(){
       testClient.welcome();
    }
}

  1. 文档和支持:可以编写对应的文档,为你的Starter提供清晰的文档和示例代码,以帮助其他开发者了解如何使用它。

在命名Starter时,官方建议遵循{name}-spring-boot-starter的格式,例如myjson-spring-boot-starter。这样的命名约定有助于区分官方和非官方的Starter。
项目的源代码: https://github.com/Zopt/test-start


http://www.kler.cn/news/302155.html

相关文章:

  • php转职golang第二期
  • 9.13学习记录
  • 分布式本地缓存 ehcache 缓存同步复制
  • Javaweb项目实现文件导出功能
  • 服务器数据恢复—Linux操作系统环境下网站数据的恢复案例
  • Java、python、php、node.js版 铁路售票自动选座系统 高铁购票系统 火车订票平台(源码、调试、LW、开题、PPT)
  • Android Graphics 显示系统 - VirtualDisplay的初印象 - 简单示例
  • .Net 中各种线程同步锁
  • Gitea Action 简单配置(CI/CD)
  • java 学习从零到精通之历程
  • C4D2025来了!亮眼的新功能一览
  • 高亚科技与广东海悟携手,打造全流程电子竞标管理平台!
  • 《程序猿之设计模式实战 · 策略模式》
  • 深度解读MySQL意向锁的工作原理机制与应用场景
  • 使用Selenium与WebDriver实现跨浏览器自动化数据抓取
  • 信息安全工程师(1)计算机网络分类
  • Linux Makefile文本处理函数知识详解
  • 【Http 每天一小问 ,Post上传文件时, 文件和 -d(--data)和 -F(--form) 不能同时存在 ,怎么办】
  • Linux系统安装CUDA
  • JSON对象
  • JSDelivr NPM CDN 国内加速节点
  • java设计模式(持续更新中)
  • 英伟达与甲骨文携手加速企业级AI和数据处理
  • 搭建一个本地 SMTP 服务器
  • [苍穹外卖]-05Redis快速入门
  • 【算法】冒泡排序
  • CSP-J 算法基础 二分查找与二分答案
  • 【Python爬虫】利用爬虫抓取双色球开奖号码,获取完整数据并通过随机森林和多层感知两种模型进行简单的预测
  • VulnHub DC-1-DC-7靶机WP
  • 计算机网络期末试题及答案