本文主要是介绍SpringAop时Null return value from advice does not match primitive return type for: public int...异常,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原因
接口是返回基本类型(primitive),切面拦截后返回了null。
Null return value from advice does not match primitive return type for: public int …
模拟
proceed异常后,obj将是null。
这里手动处理了null值,避免异常
更优雅的方式1
接口使用包装类而不是基本类型。
更优雅的方式2
避免在aop期间改变返回值。
更优雅的方式3
import com.google.common.base.Defaults;
Defaults.defaultValue(Integer.TYPE);//Defaults.defaultValue(int.class);
更优雅的方式4
Array.get(Array.newInstance(clazz, 1), 0)
参考
spring aop Null return value from advice does not match primitive return type for总结
Getting default value for primitive types - on stackoverflow
这篇关于SpringAop时Null return value from advice does not match primitive return type for: public int...异常的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!