diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml new file mode 100644 index 0000000..5de62b4 --- /dev/null +++ b/.github/workflows/maven-publish.yml @@ -0,0 +1,30 @@ +# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created +# For more information see: https://github.com/actions/setup-java#apache-maven-with-a-settings-path + +name: Maven Package + +on: + release: + types: [created] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + server-id: github # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + + - name: Build with Maven + run: mvn -B package --file pom.xml + + - name: Publish to GitHub Packages Apache Maven + run: mvn deploy -s $GITHUB_WORKSPACE/settings.xml + env: + GITHUB_TOKEN: ${{ github.token }} diff --git a/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeClass.java b/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeClass.java index d3e4de2..07e9d70 100644 --- a/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeClass.java +++ b/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeClass.java @@ -2,11 +2,15 @@ import net.jcip.annotations.ThreadSafe; +<<<<<<< HEAD +import java.lang.annotation.*; +======= import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +>>>>>>> master /** * @author Starrier diff --git a/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeMethod.java b/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeMethod.java index 035a0ec..c4add43 100644 --- a/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeMethod.java +++ b/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeMethod.java @@ -1,10 +1,14 @@ package org.starrier.common.annotation.threadsafe; +<<<<<<< HEAD +import java.lang.annotation.*; +======= import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +>>>>>>> master /** * @author Starrier diff --git a/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeVariable.java b/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeVariable.java index de2d66b..8df5166 100644 --- a/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeVariable.java +++ b/src/main/java/org/starrier/common/annotation/threadsafe/ThreadSafeVariable.java @@ -2,11 +2,15 @@ import net.jcip.annotations.ThreadSafe; +<<<<<<< HEAD +import java.lang.annotation.*; +======= import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +>>>>>>> master /** * @author Starrier diff --git a/src/main/java/org/starrier/common/utils/FastJsonUtils.java b/src/main/java/org/starrier/common/utils/FastJsonUtils.java new file mode 100644 index 0000000..2cf9c0b --- /dev/null +++ b/src/main/java/org/starrier/common/utils/FastJsonUtils.java @@ -0,0 +1,58 @@ +package org.starrier.common.utils; + +import java.util.List; +import java.util.Map; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; + +/** + * @author imperator + * @date 2019-09-10 + */ +public class FastJsonUtils { + + /** + * 功能描述:把JSON数据转换成指定的java对象 + * + * @param jsonData JSON数据 + * @param clazz 指定的java对象 + * @return 指定的java对象 + */ + public static T getJsonToBean(String jsonData, Class clazz) { + return JSON.parseObject(jsonData, clazz); + } + + /** + * 功能描述:把java对象转换成JSON数据 + * + * @param object java对象 + * @return JSON数据 + */ + public static String getBeanToJson(Object object) { + return JSON.toJSONString(object); + } + + /** + * 功能描述:把JSON数据转换成指定的java对象列表 + * + * @param jsonData JSON数据 + * @param clazz 指定的java对象 + * @return List + */ + public static List getJsonToList(String jsonData, Class clazz) { + return JSON.parseArray(jsonData, clazz); + } + + /** + * 功能描述:把JSON数据转换成较为复杂的List> + * + * @param jsonData JSON数据 + * @return List> + */ + public static List> getJsonToListMap(String jsonData) { + return JSON.parseObject(jsonData, new TypeReference>>() { + }); + } + +}