自定义Spring-start学习笔记
Spring Boot Start的创建和使用
start的工作原理(网图)
1. 设置Maven项目:
创建一个新的Maven或Gradle项目,并在项目的pom.xml
文件中添加必要的Spring Boot依赖项和插件。下面以maven项目为例:
- 创建Spring Boot项目
,并在项目的pom.xml
或build.gradle
文件中添加必要的Spring Boot依赖项和插件。
然后点击“Create”创建项目
创建后的项目文件结构为:如下图所示
我这里创建的项目结构中没有src/main/resources/META-INF
文件,可以右击
选择创建目录如下
然后就可以看到创建“resources‘文件,直接点击下面的选项创建即可。
接着创建一个META-INF
文件,注意使用的短横线不是下划线。
-
创建
spring.factories
文件:在src/main/resources/META-INF
目录下创建一个名为spring.factories
的文件,并指定你的自动配置类的全限定名。这个文件是Spring Boot在启动时查找自动配置类的地方。# spring boot start org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.test.test.TestConfig
-
定义自动配置类:创建一个带有
@Configuration
注解的Java类,该类将包含你的Starter提供的所有bean定义和默认配置。你可以使用@Bean
注解来定义bean,并使用@ConditionalOn...
注解来指定bean的创建条件。 -
打包和发布:将你的Starter打包为一个JAR文件,并将其发布到Maven中央仓库或本地的Maven仓库中。(本例子使用的是下载到本地仓库的方法)
-
- 首先找到IDEA的maven管理界面,通常在idea界面的右侧边栏
然后点击
install
将自定义的start下载到本地仓库
如果你没有编写测试类,或者测试错误可能会产生如下的错误
这时候在maven的管理面板上点击如下按钮(跳过测试)
效果如下:
然后重新
install
控制台显示如下信息,表示安装到本地仓库成功。如果你想查看你安装到本地仓库的自定义start,那么可以在Idea的settings中的maven中试着查看你maven本地仓库(Local repository)的路径/
C:\Users\Administrator\.m2\repository #路径,.m2为隐藏文件,需要打开隐藏文件查看
- 首先找到IDEA的maven管理界面,通常在idea界面的右侧边栏
找到对应的路径,就可以找到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文件中加载依赖,如果没有右上角没有自动显示更新的按钮,那么可以用如下方式手动加载。
- 测试你的Starter:创建一个简单的Spring Boot应用程序来测试你的Starter。通过注入你的Starter提供的bean来验证它们是否按预期工作。
/**
* 测试类
*
*/
@SpringBootTest
public class TestClient {
@Autowired
private PrintUserClient testClient;
@Test
void test(){
testClient.welcome();
}
}
- 文档和支持:可以编写对应的文档,为你的Starter提供清晰的文档和示例代码,以帮助其他开发者了解如何使用它。
在命名Starter时,官方建议遵循{name}-spring-boot-starter
的格式,例如myjson-spring-boot-starter
。这样的命名约定有助于区分官方和非官方的Starter。
项目的源代码: https://github.com/Zopt/test-start