diff --git a/plugins-bom/pom.xml b/plugins-bom/pom.xml index 289b7df..3dc612c 100644 --- a/plugins-bom/pom.xml +++ b/plugins-bom/pom.xml @@ -11,9 +11,6 @@ pom - - com.plugins - spring-plugin-mapstruct - + diff --git a/pom.xml b/pom.xml index 0c7ca28..95143c1 100644 --- a/pom.xml +++ b/pom.xml @@ -8,11 +8,7 @@ pom plugins-integration - - plugins-bom - spring-plugin-mapstruct - spring-plugin-test - + 1.0.0 @@ -88,6 +84,11 @@ + + plugins-bom + spring-plugin-test + + diff --git a/spring-plugin-mapstruct/.gitignore b/spring-plugin-mapstruct/.gitignore deleted file mode 100644 index 667aaef..0000000 --- a/spring-plugin-mapstruct/.gitignore +++ /dev/null @@ -1,33 +0,0 @@ -HELP.md -target/ -.mvn/wrapper/maven-wrapper.jar -!**/src/main/**/target/ -!**/src/test/**/target/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -build/ -!**/src/main/**/build/ -!**/src/test/**/build/ - -### VS Code ### -.vscode/ diff --git a/spring-plugin-mapstruct/pom.xml b/spring-plugin-mapstruct/pom.xml deleted file mode 100644 index 326b675..0000000 --- a/spring-plugin-mapstruct/pom.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - 4.0.0 - - com.plugins - plugins-integration - 1.0.0 - - spring-plugin-mapstruct - - spring-plugin-mapstruct - mapstruct 插件 - - - - io.github.linpeilie - mapstruct-plus-spring-boot-starter - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - 17 - 17 - - - org.projectlombok - lombok - ${lombok.version} - - - io.github.linpeilie - mapstruct-plus-processor - ${mapstruct-plus.version} - - - org.projectlombok - lombok-mapstruct-binding - 0.2.0 - - - - - - - - - diff --git a/spring-plugin-mapstruct/src/main/resources/application.properties b/spring-plugin-mapstruct/src/main/resources/application.properties deleted file mode 100644 index 01e1608..0000000 --- a/spring-plugin-mapstruct/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.application.name=spring-plugin-mapstruct diff --git a/spring-plugin-test/pom.xml b/spring-plugin-test/pom.xml index e7a20a7..f829cf3 100644 --- a/spring-plugin-test/pom.xml +++ b/spring-plugin-test/pom.xml @@ -10,15 +10,61 @@ spring-plugin-test spring-plugin-test - mapstruct 插件 + 插件测试类 + jar + - com.plugins - spring-plugin-mapstruct + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + + + + + io.github.linpeilie + mapstruct-plus-spring-boot-starter + + + org.projectlombok + lombok + + - - + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + 17 + 17 + + + org.projectlombok + lombok + ${lombok.version} + + + io.github.linpeilie + mapstruct-plus-processor + ${mapstruct-plus.version} + + + org.projectlombok + lombok-mapstruct-binding + 0.2.0 + + + + + + diff --git a/spring-plugin-test/src/main/java/com/plugins/mapstruct/TestApplication.java b/spring-plugin-test/src/main/java/com/plugins/mapstruct/TestApplication.java new file mode 100644 index 0000000..7d5c7d6 --- /dev/null +++ b/spring-plugin-test/src/main/java/com/plugins/mapstruct/TestApplication.java @@ -0,0 +1,13 @@ +package com.plugins.mapstruct; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class TestApplication { + + public static void main(String[] args) { + SpringApplication.run(TestApplication.class, args); + } + +} diff --git a/spring-plugin-test/src/main/java/com/plugins/mapstruct/config/MapStructConvert.java b/spring-plugin-test/src/main/java/com/plugins/mapstruct/config/MapStructConvert.java new file mode 100644 index 0000000..c720ae8 --- /dev/null +++ b/spring-plugin-test/src/main/java/com/plugins/mapstruct/config/MapStructConvert.java @@ -0,0 +1,30 @@ +package com.plugins.mapstruct.config; + + +import io.github.linpeilie.utils.CollectionUtils; +import io.github.linpeilie.utils.StrUtil; +import org.mapstruct.Named; +import org.springframework.boot.autoconfigure.AutoConfiguration; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +@AutoConfiguration +@Named("mapStructConvert") +public class MapStructConvert { + + @Named("stringToList") + public List stringToList(String str) { + return StrUtil.isBlank(str)? Collections.emptyList():Arrays.asList(str.split(",")); + } + + @Named("listToString") + public String listToString(List list) { + return CollectionUtils.isEmpty(list)? "": String.join(",", list); + } + + + + +} diff --git a/spring-plugin-test/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-plugin-test/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..cb3bef2 --- /dev/null +++ b/spring-plugin-test/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.plugins.mapstruct.config.MapStructConvert \ No newline at end of file diff --git a/spring-plugin-test/src/main/resources/application.properties b/spring-plugin-test/src/main/resources/application.properties new file mode 100644 index 0000000..19346d5 --- /dev/null +++ b/spring-plugin-test/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.application.name=spring-plugin-test diff --git a/spring-plugin-test/src/test/java/com/plugins/mapstruct/package-info.java b/spring-plugin-test/src/test/java/com/plugins/mapstruct/package-info.java new file mode 100644 index 0000000..8774f46 --- /dev/null +++ b/spring-plugin-test/src/test/java/com/plugins/mapstruct/package-info.java @@ -0,0 +1 @@ +package com.plugins.mapstruct; \ No newline at end of file diff --git a/spring-plugin-test/src/test/java/com/plugins/mapstruct/test/A.java b/spring-plugin-test/src/test/java/com/plugins/mapstruct/test/A.java new file mode 100644 index 0000000..c6917ee --- /dev/null +++ b/spring-plugin-test/src/test/java/com/plugins/mapstruct/test/A.java @@ -0,0 +1,17 @@ +package com.plugins.mapstruct.test; + +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@AutoMapper(target = B.class,reverseConvertGenerate = false) +public class A { + + private String id; + private String name; + private String age; + private String gender; + +} diff --git a/spring-plugin-test/src/test/java/com/plugins/mapstruct/test/B.java b/spring-plugin-test/src/test/java/com/plugins/mapstruct/test/B.java new file mode 100644 index 0000000..659ee98 --- /dev/null +++ b/spring-plugin-test/src/test/java/com/plugins/mapstruct/test/B.java @@ -0,0 +1,16 @@ +package com.plugins.mapstruct.test; + +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@AutoMapper(target = A.class,reverseConvertGenerate = false) +public class B { + + private String id; + private String name; + private String age; + +} diff --git a/spring-plugin-test/src/test/java/com/plugins/mapstruct/test/Run.java b/spring-plugin-test/src/test/java/com/plugins/mapstruct/test/Run.java new file mode 100644 index 0000000..a6d1b40 --- /dev/null +++ b/spring-plugin-test/src/test/java/com/plugins/mapstruct/test/Run.java @@ -0,0 +1,25 @@ +package com.plugins.mapstruct.test; + +import io.github.linpeilie.Converter; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +public class Run { + + @Autowired + Converter converter; + + @Test + void test1() { + A a = new A().setId("1") + .setName("") + .setAge("") + .setGender(""); + B b = converter.convert(a, B.class); + System.out.println(b.toString()); + + } + +}