我在第3方库中有一个Java类,带有一个在类实例化时分配的私有成员。
public class CacheLookupUtil extends AbstractCacheLookupUtil<InvocationContext> {
@Inject
private BeanManagerUtil beanManagerUtil;
private CacheKeyGenerator defaultCacheKeyGenerator = new DefaultCacheKeyGenerator();
private CacheResolverFactory defaultCacheResolverFactory = new DefaultCacheResolverFactory();
...
...
}
我的问题是
defaultCacheResolverFactory
的分配由于选择了错误的构造函数而导致异常。如果我尝试对
CacheLookupUtil
进行子类化,则该赋值仍在父类中完成,因此我无法再前进了。我可以在Java反射中使用任何机制来构造/实例化该对象,但是阻止
defaultCacheResolverFactory
的分配,并允许我通过反射来设置值吗?我知道这是一个丑陋的解决方案,但是老实说,我无法想象其他任何处理方式。
最佳答案
DefaultCacheResolverFactory是您的库jar的一部分吗?
所以我个人更喜欢选项1或2。