java - Spring:如何覆盖 @Import 注释中使用的类
问题描述
我必须从类 Server 中重写函数 getMyObject:
@EnableResourceServer
public class Server extends ResourceServerConfigurerAdapter{ //class from library
@Override
public void configure(HttpSecurity http){
....
addFilterBefore(getMyObject(),anotherArgument);
...
}
protected Filter getMyObject(){
return new CustomFilter();
}
}
@Import({ Server.class })
public class Config{ //class from library
public void someMethod(){}
}
public class ConfigExt extends Config{ // my class
@Override
public void someMethod(){ // my implementation}
}
我试图扩展 Server 类并覆盖 getMyObject 方法。接下来我将@Import ServerExt 添加到 ConfigExt 类:
@EnableResourceServer
public class ServerExt extends Server{ // my class
@Override
protected Filter getMyObject(){
return new CustomFilterExt();
}
}
@Import({ ServerExt.class })
public class ConfigExt extends Config{ // my class
@Override
public void someMethod(){ // my implementation}
}
但这会导致创建了 2 个实例:Server 和 ServerExt。因此同时启动了 CustomFilter 和 CustomFilterExt。
所以上述解决方案不起作用。我该如何处理?
解决方案
推荐阅读
- java - 基于其中存在的日期/时间的 Json 数组排序
- python - 如何修复:python 代码无法通过 DAG 气流工作:pandas.read_csv('gs://x/y.csv') 文件不存在
- ruby - 为什么我在部署 capistrano 时会出现语法错误?
- tensorflow - 具有图像和标量的 keras 生成器
- python-3.x - 使用 treetaggerwrapper 为每个句子提供提取的引理不起作用:返回单词列表而不是每个句子的单词列表
- tensorflow - 如何在 tf-keras 中定义具有多输出的自定义损失函数?
- excel - 用 vba 重写了一个文本文件
- reactjs - 将默认域添加到正在注册的电子邮件
- cqrs - 您如何确保应用事件以读取模型?
- ios - 在 Xcode 中录制 UI 测试,但录制按钮不执行任何操作