2018-08-13 13:42
@wesleyxw 感谢回来分享, handler 可以实现那些更加底层的功能,在拦截器以及 controller 实现不了功能时,用 handler 可以解决
2018-08-13 11:55
@syjll 我上面指的删除项目所有文件,是指删除项目根目录下的所有文件,不是指 src 子目录下面的
2018-08-13 11:54
@syjll 是标准的 maven 项目就好办了,删除项目中所有的文件,只留 pom.xml 文件以及 src 目录
重新导入一次 eclipse , 让 ecilpse 重新生成它的配置文件与目录即可
2018-08-12 17:14
@zerov findByCache 优先从缓存中取数据,取不到数据才去数据库查询
而从缓存取数据必须要有一个 key, key 就是从数据库取数据的一把钥匙
2018-08-11 23:22
@EATI001 拦截器就是普通的 Java 方法调用,并没有使用反射,并且拦截器是单例的,在系统启动过程中一次性创建并装配好。 性能极高
这点代码每秒运行应该是百万至千万级别的量,性能损耗可以完全忽略不计
2018-08-11 17:39
做个全局拦截器处处理一下:
public class MyInterceptor implements Interceptor {
public void intercept(Invocation inv) {
inv.invoke();
if (inv.getController().getRender() == null) {
Object ret = inv.getReturnValue();
if (ret == null) {
inv.getController().renderNull();
}
}
}
}
最后再配置一下即可:
me.add(new MyInterceptor());
当然,你的这种情况很可能不需要判断 inv.getReturnValue(),核心方法简化成下面试试:
public void intercept(Invocation inv) {
inv.invoke();
if (inv.getController().getRender() == null) {
inv.getController().renderNull();
}
}