diff --git a/pom.xml b/pom.xml
index 9480feb5bfe17e7224182a662fa33a605edde516..e66bb9a97afb908e37492333de619bd07c2c6bfc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
cn.icanci
snow-stack-spring
- 1.0.5
+ 1.0.6
jar
diff --git a/src/main/java/cn/icanci/snow/spring/aop/AspectListExecutor.java b/src/main/java/cn/icanci/snow/spring/aop/AspectListExecutor.java
index 4154995e5fbdd5f1f4516576dba7661f164e6a2c..95797d1006312b703b09f61cc77370b594fb1274 100644
--- a/src/main/java/cn/icanci/snow/spring/aop/AspectListExecutor.java
+++ b/src/main/java/cn/icanci/snow/spring/aop/AspectListExecutor.java
@@ -65,10 +65,7 @@ public class AspectListExecutor implements MethodInterceptor {
public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {
Object returnObject = null;
collectAccurateMatchedAspectList(method);
- System.out.println(sortAspectInfoList.size());
if (ValidationUtil.isEmpty(sortAspectInfoList)) {
- System.out.println("proxy111:" + proxy);
- System.out.println("args:" + args);
returnObject = proxy.invokeSuper(obj, args);
return returnObject;
}
@@ -91,8 +88,6 @@ public class AspectListExecutor implements MethodInterceptor {
* @param method 方法
*/
private void collectAccurateMatchedAspectList(Method method) {
- System.out.println("size:" + sortAspectInfoList.size());
- System.out.println("me name:" + method.getName());
if (ValidationUtil.isEmpty(sortAspectInfoList)) {
return;
}
diff --git a/src/main/java/cn/icanci/snow/spring/aop/AspectWeaver.java b/src/main/java/cn/icanci/snow/spring/aop/AspectWeaver.java
index ab876c9874865fa31ce07561385a113b7dcf669b..5369f54507962b60ba08e5e4175853c830646556 100644
--- a/src/main/java/cn/icanci/snow/spring/aop/AspectWeaver.java
+++ b/src/main/java/cn/icanci/snow/spring/aop/AspectWeaver.java
@@ -17,10 +17,6 @@
package cn.icanci.snow.spring.aop;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
import cn.icanci.snow.spring.aop.anno.Aspect;
import cn.icanci.snow.spring.aop.anno.Order;
import cn.icanci.snow.spring.aop.aspect.AspectInfo;
@@ -28,6 +24,10 @@ import cn.icanci.snow.spring.aop.aspect.DefaultAspect;
import cn.icanci.snow.spring.core.BeanContainer;
import cn.icanci.snow.spring.util.ValidationUtil;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
/**
* @author icanci
* @date Created in 2021/05/19 17:33
@@ -79,7 +79,7 @@ public class AspectWeaver {
AspectInfo aspectInfo = new AspectInfo(orderTag.value(), defaultAspect, pointcutLocator);
aspectInfoList.add(aspectInfo);
} else {
- //不遵守规范则直接抛出异常
+ // 不遵守规范则直接抛出异常
throw new RuntimeException("@Aspect and @Order must be added to the Aspect class, and Aspect class must extend from DefaultAspect");
}
}
@@ -95,7 +95,7 @@ public class AspectWeaver {
if (ValidationUtil.isEmpty(roughMatchedAspectList)) {
return;
}
- //创建动态代理对象
+ // 创建动态代理对象
AspectListExecutor aspectListExecutor = new AspectListExecutor(targetClass, roughMatchedAspectList);
Object proxyBean = ProxyCreator.createProxy(targetClass, aspectListExecutor);
beanContainer.addBean(targetClass, proxyBean);
diff --git a/src/main/java/cn/icanci/snow/spring/inject/DependencyInjector.java b/src/main/java/cn/icanci/snow/spring/inject/DependencyInjector.java
index 17bad7e1976709566e246b0b506cc3b963973259..6300ce6903394f38d12e6192369e5e1ec47f1177 100644
--- a/src/main/java/cn/icanci/snow/spring/inject/DependencyInjector.java
+++ b/src/main/java/cn/icanci/snow/spring/inject/DependencyInjector.java
@@ -116,7 +116,7 @@ public class DependencyInjector {
if (classSet.size() == 1) {
return classSet.iterator().next();
} else {
- //如果多于两个实现类且用户未指定其中一个实现类,则抛出异常
+ // 如果多于两个实现类且用户未指定其中一个实现类,则抛出异常
throw new RuntimeException("multiple implemented classes for " + fieldClass.getName() + " please set @Autowired value to pick one");
}
}
diff --git a/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/ControllerRequestProcessor.java b/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/ControllerRequestProcessor.java
index cd84f95deb136a90e52f15d49c2c23aabbbec285..c4e2108663482e31da60ac71499f2791624770c5 100644
--- a/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/ControllerRequestProcessor.java
+++ b/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/ControllerRequestProcessor.java
@@ -206,26 +206,20 @@ public class ControllerRequestProcessor implements RequestProcessor {
invokeMethod.setAccessible(true);
Object result;
try {
+ log.info("invoke:{}{}", controller.getClass().toString(), invokeMethod);
if (methodParams.size() == 0) {
- System.out.println(controller.getClass());
- System.out.println(invokeMethod);
result = invokeMethod.invoke(controller);
-
- System.out.println("ControllerRequestProcessor.invokeControllerMethod 1");
} else {
result = invokeMethod.invoke(controller, methodParams.toArray());
- System.out.println("ControllerRequestProcessor.invokeControllerMethod 2");
}
} catch (InvocationTargetException e) {
// 如果是调用异常的话,需要通过e.getTargetException()
// 去获取执行方法抛出的异常
- System.out.println("ControllerRequestProcessor.invokeControllerMethod 3");
throw new RuntimeException(e.getTargetException());
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
} catch (Exception e) {
- System.out.println("ControllerRequestProcessor.invokeControllerMethod 4");
throw new RuntimeException(e);
}
return result;
diff --git a/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/PreRequestProcessor.java b/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/PreRequestProcessor.java
index dafd491ddc64b895e49131f2207a03afe5674cf3..36cb134ef2dccc4b6e3acb61923f9c0b40b43889 100644
--- a/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/PreRequestProcessor.java
+++ b/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/PreRequestProcessor.java
@@ -42,9 +42,8 @@ public class PreRequestProcessor implements RequestProcessor {
requestProcessorChain.getRequest().setCharacterEncoding("UTF-8");
// 2.将请求路径末尾的/剔除,为后续匹配Controller请求路径做准备
// (一般Controller的处理路径是/aaa/bbb,所以如果传入的路径结尾是/aaa/bbb/,
- // 就需要处理成/aaa/bbb)
+ // 就需要处理成/aaa/bbb)
String requestPath = requestProcessorChain.getRequestPath();
- //http://localhost:8080/icanci-spring-framework requestPath="/"
if(requestPath.length() > 1 && requestPath.endsWith("/")){
requestProcessorChain.setRequestPath(requestPath.substring(0, requestPath.length() - 1));
}
diff --git a/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/StaticResourceRequestProcessor.java b/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/StaticResourceRequestProcessor.java
index 3d7dd04508df1512ae5d69528fbca1bcb93d7c21..f27653cd69eb6c1fffc9103ef7a1902726f57f6a 100644
--- a/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/StaticResourceRequestProcessor.java
+++ b/src/main/java/cn/icanci/snow/spring/mvc/processor/impl/StaticResourceRequestProcessor.java
@@ -60,9 +60,9 @@ public class StaticResourceRequestProcessor implements RequestProcessor {
*/
@Override
public boolean process(RequestProcessorChain requestProcessorChain) throws Exception {
- //1.通过请求路径判断是否是请求的静态资源 webapp/static
+ // 1.通过请求路径判断是否是请求的静态资源 webapp/static
if (isStaticResource(requestProcessorChain.getRequestPath())) {
- //2.如果是静态资源,则将请求转发给default servlet处理
+ // 2.如果是静态资源,则将请求转发给default servlet处理
// TODO 这里出现了谷歌浏览器不渲染图片的情况
defaultDispatcher.forward(requestProcessorChain.getRequest(), requestProcessorChain.getResponse());
return false;
@@ -76,7 +76,7 @@ public class StaticResourceRequestProcessor implements RequestProcessor {
* @return 返回是否可访问
*/
private boolean isStaticResource(String path) {
- System.out.println("path:" + path);
+ log.info("request path:{}", path);
return path.startsWith(STATIC_RESOURCE_PREFIX);
}
}
diff --git a/src/main/java/cn/icanci/snow/spring/util/BeanUtil.java b/src/main/java/cn/icanci/snow/spring/util/BeanUtil.java
index d4d17ae0a0239349d25f43f46c149015d58330a0..b293b216ecacc154abb25274b8be278c2d9ab71e 100644
--- a/src/main/java/cn/icanci/snow/spring/util/BeanUtil.java
+++ b/src/main/java/cn/icanci/snow/spring/util/BeanUtil.java
@@ -33,7 +33,11 @@ public class BeanUtil {
return o1.compareTo(o1);
}));
set.clear();
- // 去合并父子包
+ // 只有一个直接返回
+ if (basePackageList.size() == 1) {
+ return basePackageList;
+ }
+ // 合并父子包
for (int i = basePackageList.size() - 1; i > 0; i--) {
String first = basePackageList.get(i);
String next = basePackageList.get(i - 1);