Java 有没有办法用guice注入最终类?
我有一个提供者,它应该将javax.mail.Session(提供者在tomcat的env.context中查找它)作为单例注入。当我在代码中的某个地方使用字段注入时,出现了一个问题:Java 有没有办法用guice注入最终类?,java,email,guice,final,Java,Email,Guice,Final,我有一个提供者,它应该将javax.mail.Session(提供者在tomcat的env.context中查找它)作为单例注入。当我在代码中的某个地方使用字段注入时,出现了一个问题: java.lang.IllegalArgumentException: Cannot subclass final class class javax.mail.Session 有办法绕过这个吗?我发现的唯一线索指向Spring AOP/代理 谢谢和问候看看这个。似乎有一些限制: 局限性 在幕后,方法拦截是通过
java.lang.IllegalArgumentException: Cannot subclass final class class javax.mail.Session
有办法绕过这个吗?我发现的唯一线索指向Spring AOP/代理
谢谢和问候看看这个。似乎有一些限制:
局限性
在幕后,方法拦截是通过生成
运行时的字节码。Guice动态创建一个应用
通过重写方法生成拦截器。如果你在一个平台上
不支持字节码生成(如Android),应使用
没有AOP支持的Guice
这种方法限制了类和方法的可用性
截获:
类必须是公共的或包私有的。课程必须是非最终的
方法必须是公共的,包私有的或受保护的方法必须是
非最终实例必须由Guice通过@Inject
-注释创建
或无参数构造函数