关于JFinalUIB中ServicePlugin的循环处理Service实例化问题

发布于 2021-11-26 01:18:32 字数 418 浏览 772 评论 5

仿照作者的ServicePlugin,批处理Service实例化:

for (Class service : modelClasses) {}循环处理:

BaseService baseService = null;

baseService = Enhancer.enhance(service); 

但是每次执行到:baseService = Enhancer.enhance(service); 时总报:Cannot subclass final class class java.lang.Class错误。

但是我把语句改成:baseService = Enhancer.enhance(ServiceName.Class); 这种方式正常执行

请问是什么原因?已经困扰我好久了!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

像你 2021-12-01 03:48:26

恩,能解决问题就好,这个实例化就是系统启动时加载,两种实例化方式不会有什么太大差异

狠疯拽 2021-11-30 09:36:06

objService = Enhancer.enhance(service); // 否

baseService = (BaseService) objService;

使用Object 强转一下,貌似可以。。

孤檠 2021-11-30 05:19:32

这个问题在前段时间改过了,你应该用的是JDK8吧?我也用8发现了才修复了

离不开的别离 2021-11-30 02:27:52

回复
恩,是用的JDK8。那这样的话,baseService = Enhancer.enhance(service, Tx.class); // 是 这行怎么处理?

坐在坟头思考人生 2021-11-28 12:52:03
if(serviceBind.tx()){
 baseService = Enhancer.enhance(service, Tx.class); 	// 是
}else{
 try {
 baseService = (BaseService) service.newInstance(); //Enhancer.enhance(service);	// 否
 } catch (InstantiationException | IllegalAccessException e) {
 e.printStackTrace();
 }
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文