参考:看,手写一个最简单的SpringBoot 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>
<groupId>com.nobody</groupId>
<artifactId>myjson-spring-boot-starter</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>myjson-spring-boot-starter</name>
<description>Demo project for Spring Boot Starter</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>2.3.8.RELEASE</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.73</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.3.8.RELEASE</version>
</dependency>
</dependencies>
</project>
resource下面新建META-INF/spring.factories:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.nobody.myjson.pack.MyJsonConfiguration
其余代码参考链接,然后按照下面点击执行:
然后第二个项目的pom.xml引入下面依赖即可:
<dependency>
<groupId>com.nobody</groupId>
<artifactId>myjson-spring-boot-starter</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
DemoController:
package com.example.demo;
import com.nobody.myjson.pack.MyJsonService;
import com.nobody.myjson.pack.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("demo")
public class DemoController {
// 注入我们Starter中的服务类
@Autowired
private MyJsonService myJsonService;
@GetMapping()
public String test() {
Person p = new Person("Mr.nobody", 18, "拉斯维加斯");
// 调用服务方法
return myJsonService.objectToMyJson(p);
}
}