From b4acdbe87531e355c49775a39e9d8a288edfbc10 Mon Sep 17 00:00:00 2001 From: yuye <631941527@qq.com> Date: Sat, 12 Oct 2019 20:11:17 +0800 Subject: [PATCH] update version --- mars-aop/pom.xml | 2 +- mars-core/pom.xml | 2 +- .../java/com/mars/core/load/LoadBeans.java | 55 ++++++++++--- .../java/com/mars/core/load/LoadClass.java | 77 ++++++------------- mars-ioc/pom.xml | 2 +- mars-jdbc/mars-jdbc-base/pom.xml | 2 +- mars-jdbc/mars-mj/pom.xml | 2 +- mars-jdbc/mars-mybatis/pom.xml | 2 +- mars-jdbc/pom.xml | 2 +- mars-mvc/pom.xml | 2 +- .../com/mars/mvc/servlet/MarsCoreServlet.java | 3 + mars-netty/pom.xml | 2 +- mars-redis/pom.xml | 2 +- mars-server/pom.xml | 2 +- mars-timer/pom.xml | 2 +- pom.xml | 2 +- 16 files changed, 83 insertions(+), 78 deletions(-) diff --git a/mars-aop/pom.xml b/mars-aop/pom.xml index 5cb03fb..444a5b1 100644 --- a/mars-aop/pom.xml +++ b/mars-aop/pom.xml @@ -5,7 +5,7 @@ com.github.yuyenews Mars-java - 2.2.0 + 2.2.1 mars-aop diff --git a/mars-core/pom.xml b/mars-core/pom.xml index 133f351..91ab836 100644 --- a/mars-core/pom.xml +++ b/mars-core/pom.xml @@ -5,7 +5,7 @@ com.github.yuyenews Mars-java - 2.2.0 + 2.2.1 mars-core diff --git a/mars-core/src/main/java/com/mars/core/load/LoadBeans.java b/mars-core/src/main/java/com/mars/core/load/LoadBeans.java index 8130dda..e93f67e 100644 --- a/mars-core/src/main/java/com/mars/core/load/LoadBeans.java +++ b/mars-core/src/main/java/com/mars/core/load/LoadBeans.java @@ -1,14 +1,10 @@ package com.mars.core.load; -import com.mars.core.annotation.Controller; -import com.mars.core.annotation.MarsBean; -import com.mars.core.annotation.MarsDao; -import com.mars.core.annotation.MarsInterceptor; +import com.mars.core.annotation.*; import com.mars.core.constant.MarsConstant; import com.mars.core.constant.MarsSpace; import com.mars.core.model.MarsBeanClassModel; -import java.util.HashSet; import java.util.List; import java.util.Set; @@ -20,16 +16,53 @@ public class LoadBeans { private static MarsSpace constants = MarsSpace.getEasySpace(); /** - * 加载本地bean + * 加载所有的bean,包括controller 的class对象 + * * @throws Exception 异常 */ - public static Set loadNativeBeans() throws Exception { - Set navClassList = new HashSet<>(); + public static void loadBeans() throws Exception { + try { - /* 加载 接受远程配置中心通知的controller */ - navClassList.add("com.mars.mvc.remote.controller.RemoteConfigController"); + Set scanClassList = LoadHelper.getSacnClassList(); - return navClassList; + for (String str : scanClassList) { + Class cls = Class.forName(str); + Controller controller = cls.getAnnotation(Controller.class); + MarsBean marsBean = cls.getAnnotation(MarsBean.class); + MarsInterceptor marsInterceptor = cls.getAnnotation(MarsInterceptor.class); + MarsDao marsDao = cls.getAnnotation(MarsDao.class); + MarsAfter marsAfter = cls.getAnnotation(MarsAfter.class); + + int count = 0; + + if(controller != null) { + LoadBeans.loadController(cls, controller); + count++; + } + if(marsBean != null) { + LoadBeans.loadEasyBean(cls, marsBean); + count++; + } + if(marsInterceptor != null){ + LoadBeans.loadInterceptor(cls, marsInterceptor); + count++; + } + if(marsDao != null){ + LoadBeans.loadDao(cls, marsDao); + count++; + } + if(marsAfter != null){ + LoadBeans.loadMarsAfter(cls); + count++; + } + + if(count > 1){ + throw new Exception("类:["+cls.getName()+"]上不允许有多个Mars注解"); + } + } + } catch (Exception e) { + throw new Exception("从扫描出来的类里面筛选有注解的类,出现异常",e); + } } /** diff --git a/mars-core/src/main/java/com/mars/core/load/LoadClass.java b/mars-core/src/main/java/com/mars/core/load/LoadClass.java index bb24c3b..ec98a32 100644 --- a/mars-core/src/main/java/com/mars/core/load/LoadClass.java +++ b/mars-core/src/main/java/com/mars/core/load/LoadClass.java @@ -1,10 +1,10 @@ package com.mars.core.load; -import com.mars.core.annotation.*; import com.mars.core.constant.MarsConstant; import com.mars.core.constant.MarsSpace; import com.mars.core.util.ReadClass; +import java.util.HashSet; import java.util.Set; /** @@ -23,69 +23,38 @@ public class LoadClass { * * @throws Exception 异常 */ - public static void loadBeans(String packageName) throws Exception{ + public static void sacnClass(String packageName) throws Exception{ try { - /* 加载本地bean */ - Set navClassList = LoadBeans.loadNativeBeans(); - /* 加载框架用户的所有bean */ - loadAllBeans(packageName,navClassList); + Set scanClassList = LoadHelper.getSacnClassList(); + + /* 扫描包下面的所有类 */ + Set classList = ReadClass.loadClassList(packageName); + + /* 加载本地bean */ + Set navClassList = loadNativeBeans(); + + /* 将扫描出来的类保存到内存中 */ + scanClassList.addAll(classList); + scanClassList.addAll(navClassList); + + marsSpace.setAttr(MarsConstant.SCAN_ALL_CLASS,classList); + } catch (Exception e){ - throw new Exception("加载bean出错",e); + throw new Exception("扫描["+packageName+"]包下的类发生错误",e); } } /** - * 加载所有的bean,包括controller 的class对象 - * @param packageName bean所在的包名 - * + * 加载本地bean * @throws Exception 异常 */ - private static void loadAllBeans(String packageName,Set navClassList) throws Exception { - try { - Set classList = ReadClass.loadClassList(packageName); - classList.addAll(navClassList); + public static Set loadNativeBeans() throws Exception { + Set navClassList = new HashSet<>(); - //这里是存下来给cloud加载rpc用的,避免二次扫描 - marsSpace.setAttr(MarsConstant.SCAN_ALL_CLASS,classList); + /* 加载 接受远程配置中心通知的controller */ + navClassList.add("com.mars.mvc.remote.controller.RemoteConfigController"); - for (String str : classList) { - Class cls = Class.forName(str); - Controller controller = cls.getAnnotation(Controller.class); - MarsBean marsBean = cls.getAnnotation(MarsBean.class); - MarsInterceptor marsInterceptor = cls.getAnnotation(MarsInterceptor.class); - MarsDao marsDao = cls.getAnnotation(MarsDao.class); - MarsAfter marsAfter = cls.getAnnotation(MarsAfter.class); - - int count = 0; - - if(controller != null) { - LoadBeans.loadController(cls, controller); - count++; - } - if(marsBean != null) { - LoadBeans.loadEasyBean(cls, marsBean); - count++; - } - if(marsInterceptor != null){ - LoadBeans.loadInterceptor(cls, marsInterceptor); - count++; - } - if(marsDao != null){ - LoadBeans.loadDao(cls, marsDao); - count++; - } - if(marsAfter != null){ - LoadBeans.loadMarsAfter(cls); - count++; - } - - if(count > 1){ - throw new Exception("类:["+cls.getName()+"]上不允许有多个Mars注解"); - } - } - } catch (Exception e) { - throw new Exception("扫描["+packageName+"]包下的类发生错误",e); - } + return navClassList; } } diff --git a/mars-ioc/pom.xml b/mars-ioc/pom.xml index 8ead58f..bddaf56 100644 --- a/mars-ioc/pom.xml +++ b/mars-ioc/pom.xml @@ -5,7 +5,7 @@ com.github.yuyenews Mars-java - 2.2.0 + 2.2.1 mars-ioc diff --git a/mars-jdbc/mars-jdbc-base/pom.xml b/mars-jdbc/mars-jdbc-base/pom.xml index 89b439c..7b5f838 100644 --- a/mars-jdbc/mars-jdbc-base/pom.xml +++ b/mars-jdbc/mars-jdbc-base/pom.xml @@ -5,7 +5,7 @@ mars-jdbc com.github.yuyenews - 2.2.0 + 2.2.1 4.0.0 diff --git a/mars-jdbc/mars-mj/pom.xml b/mars-jdbc/mars-mj/pom.xml index 00402df..97d2112 100644 --- a/mars-jdbc/mars-mj/pom.xml +++ b/mars-jdbc/mars-mj/pom.xml @@ -5,7 +5,7 @@ mars-jdbc com.github.yuyenews - 2.2.0 + 2.2.1 4.0.0 diff --git a/mars-jdbc/mars-mybatis/pom.xml b/mars-jdbc/mars-mybatis/pom.xml index 312e3d2..fd78030 100644 --- a/mars-jdbc/mars-mybatis/pom.xml +++ b/mars-jdbc/mars-mybatis/pom.xml @@ -5,7 +5,7 @@ com.github.yuyenews mars-jdbc - 2.2.0 + 2.2.1 mars-mybatis diff --git a/mars-jdbc/pom.xml b/mars-jdbc/pom.xml index 84ec48e..e77c40f 100644 --- a/mars-jdbc/pom.xml +++ b/mars-jdbc/pom.xml @@ -5,7 +5,7 @@ Mars-java com.github.yuyenews - 2.2.0 + 2.2.1 4.0.0 pom diff --git a/mars-mvc/pom.xml b/mars-mvc/pom.xml index 1294ef6..9860daa 100644 --- a/mars-mvc/pom.xml +++ b/mars-mvc/pom.xml @@ -5,7 +5,7 @@ com.github.yuyenews Mars-java - 2.2.0 + 2.2.1 mars-mvc diff --git a/mars-mvc/src/main/java/com/mars/mvc/servlet/MarsCoreServlet.java b/mars-mvc/src/main/java/com/mars/mvc/servlet/MarsCoreServlet.java index 9dd41d3..f20a43e 100644 --- a/mars-mvc/src/main/java/com/mars/mvc/servlet/MarsCoreServlet.java +++ b/mars-mvc/src/main/java/com/mars/mvc/servlet/MarsCoreServlet.java @@ -44,6 +44,9 @@ public class MarsCoreServlet implements MarsServlet { * @return */ public boolean isNotObject(Object result){ + if(result == null){ + return true; + } String fieldTypeName = result.getClass().getSimpleName().toUpperCase(); switch (fieldTypeName){ case DataType.INT: diff --git a/mars-netty/pom.xml b/mars-netty/pom.xml index 437ee35..c9da157 100644 --- a/mars-netty/pom.xml +++ b/mars-netty/pom.xml @@ -5,7 +5,7 @@ com.github.yuyenews Mars-java - 2.2.0 + 2.2.1 mars-netty diff --git a/mars-redis/pom.xml b/mars-redis/pom.xml index 3a17def..5751a8d 100644 --- a/mars-redis/pom.xml +++ b/mars-redis/pom.xml @@ -5,7 +5,7 @@ Mars-java com.github.yuyenews - 2.2.0 + 2.2.1 4.0.0 diff --git a/mars-server/pom.xml b/mars-server/pom.xml index 2d03d54..8bedd30 100644 --- a/mars-server/pom.xml +++ b/mars-server/pom.xml @@ -5,7 +5,7 @@ com.github.yuyenews Mars-java - 2.2.0 + 2.2.1 mars-server diff --git a/mars-timer/pom.xml b/mars-timer/pom.xml index 0abe9de..349e08e 100644 --- a/mars-timer/pom.xml +++ b/mars-timer/pom.xml @@ -5,7 +5,7 @@ Mars-java com.github.yuyenews - 2.2.0 + 2.2.1 4.0.0 diff --git a/pom.xml b/pom.xml index 7afbb24..234732f 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.github.yuyenews Mars-java - 2.2.0 + 2.2.1 pom mars-aop