Maven实现自己的starter依赖

2023-05-15 12:05:37 maven 自己的 依赖

1. 准备工作

1.1 创建一个项目

打开idea,创建一个SpringBoot项目:

image-20230404214050289

点击next,添加两个依赖:

image-20230404214137849

点击finsh,创建成功。

1.2 修改pom文件

将pom文件中的版本号改为 0.0.1 (非必须操作):

<groupId>com.example</groupId>
<artifactId>test-spring-boot-starter</artifactId>
<!--    <version>0.0.1-SNAPSHOT</version>-->
<version>0.0.1</version>

<build> 标签的内容都删掉:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-Maven-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                    </exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>

因为这是一个我们自定义的一套sdk,并不需要打成jar包。

1.3 修改项目结构

image-20230404214916897

将启动类和测试类都删掉,在resources目录下创建一个目录 META-INF ,在其中创建一个文件 spring.factories

image-20230404215413806

2. 动手实现

2.1 创建客户端类

创建一个包 client,在其中创建一个类 CalculateClient :

@AllArgsConstructor
@NoArgsConstructor
@Slf4j
public class CalculateClient {
    private String host;
    private String port;

    public String select(String id) {
        log.info("连接成功,地址为:{}", host);
        log.info("连接成功,端口为:{}", port);
        //返回查询结果
        return id;
    }
}

2.2 创建配置类

创建一个包 config ,在其中创建一个类 CalculateConfig :

@Configuration
@ConfigurationProperties("calculate.client")
@Data
@ComponentScan
public class ClientConfig {
    private String host;
    private String port;

    @Bean
    public CalculateClient calculateClient() {
        return new CalculateClient(host, port);
    }
}

2.3 配置路径

在我们刚刚创建的 spring.factories 文件中添加如下内容:

#Spring Boot starter
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.example.testspringbootstarter.config.ClientConfig

2.4 下载到本地仓库

点击 install 将项目下载到本地仓库,这样才能够提供给别的项目使用:

image-20230404221700131

3. 测试

在别的项目中引入我们刚刚开发的依赖:

<dependency>
    <groupId>com.example</groupId>
    <artifactId>test-spring-boot-starter</artifactId>
    <version>0.0.1</version>
</dependency>

然后在项目的 application.yml 文件中配置 hostport

image-20230404222303950

然后在测试类中编写一个测试方法:

@Autowired
private CalculateClient calculateClient;

@Test
public void test(){
    String result = calculateClient.select("1");
    System.out.println(result);
}

运行测试方法,结果如下:

image-20230404222525855

到此,一个简单的 starter 就开发完毕了。

到此这篇关于Maven实现自己的starter依赖的文章就介绍到这了,更多相关Maven starter依赖内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章