4.1版本,使用Aop.get()没有正确创建对象并且对其进行依赖注入

import com.jfinal.aop.Invocation;
public class UserService$$EnhancerByJFinal extends UserService {
	
	public  void save(com.zhidan.ccc.model.User p0, java.util.List<java.lang.Long> p1) {
		Invocation inv = new Invocation(this, 1L,
			args -> {
				 UserService$$EnhancerByJFinal.super.save(
						(com.zhidan.ccc.model.User)args[0],
						(java.util.List<java.lang.Long>)args[1]
					);
				return null;
			}
			, p0, p1);
		
		inv.invoke();
	}
}


2019-05-31 19:14:01,317 [管理平台] [RMI TCP Connection(3)-127.0.0.1] ERROR [com.jfinal.proxy.ProxyCompiler] - /UserService$$EnhancerByJFinal.java:3: 错误: 程序包com.jfinal.aop不存在
import com.jfinal.aop.Invocation;

...

Caused by: java.lang.ClassNotFoundException: com.zhidan.ccc.app.service.UserService$$EnhancerByJFinal
	at java.lang.ClassLoader.findClass(ClassLoader.java:530)
	at com.jfinal.proxy.ProxyClassLoader.findClass(ProxyClassLoader.java:64)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at com.jfinal.proxy.ProxyClassLoader.loadProxyClass(ProxyClassLoader.java:49)
	... 82 more

如上为报错信息。

代码:

static UserService userService = Aop.get(UserService.class);


评论区

JFinal

2019-05-31 22:02

异常会提示是哪个方法编译出错,在那个方法上用一下 @Clear 注解,看能不能解决

记得搞定后回来分享一下

canca

2019-06-13 13:07

我也遇到!

诸葛文毅

2019-06-13 14:04

get后面我用实现类成功了

JFinal

2019-06-13 15:34

@诸葛文毅 @canca 仔细看一下这一章的文档 @Inject 是有各种用法的:
https://www.jfinal.com/doc/4-6
https://www.jfinal.com/doc/4-5

wmlgl

2020-02-15 13:14

@JFinal 同样遇到了类似问题,在使用Aop.get的时候,如果函数参数或返回值有内部类(内部枚举类)同时使用了注解就会出现"找不到符号"错误, jfinal4.8

JFinal

2020-02-15 13:57

@wmlgl 在 configConstant(Constants me) 中 配置一下试试看能不能解决:
me.setToCglibProxyFactory();

注意回来再反馈一下

wmlgl

2020-02-16 22:34

@JFinal 可以解决

热门反馈

扫码入社