【发布时间】:2020-03-27 12:01:06
【问题描述】:
我正在使用 Atlassian SDK 创建插件。在此 SDK 中有一个接口及其实现,用于获取有关编辑器的一些数据。我在这个接口上创建了一个新的实现,我想将它注入到我的其他类中。但是当我定义@Component 或@Named 时,我得到了很多关于Thread 和Runnable 的错误。
我的问题是,是否可以注入您无权访问的接口的另一个实现及其默认实现代码(在 SDK 中)。如果是,我做得对吗?或者我可以通过从默认实现扩展我的植入来解决它吗?
@ExperimentalApi
public interface FieldHtmlFactory {
List<FieldHtmlBean> getCreateFields(ApplicationUser var1, OperationContext var2, Action var3, MutableIssue var4, boolean var5, List<String> var6);
List<FieldHtmlBean> getLinkedIssueCreateFields(ApplicationUser var1, OperationContext var2, Action var3, MutableIssue var4, Issue var5, boolean var6, List<String> var7);
List<FieldHtmlBean> getEditFields(ApplicationUser var1, OperationContext var2, Action var3, Issue var4, boolean var5);
List<FieldHtmlBean> getInlineEditFields(ApplicationUser var1, OperationContext var2, Action var3, Issue var4, boolean var5);
List<FieldHtmlBean> getSubTaskCreateFields(ApplicationUser var1, OperationContext var2, Action var3, MutableIssue var4, boolean var5, List<String> var6);
}
默认实现:(没有任何注释)
public class FieldHtmlFactoryImpl implements FieldHtmlFactory {...}
我的实现:
@Scanned
@Named("editorImpl")
public class FieldEditorFactoryImpl implements FieldHtmlFactory { ... }
我想使用的地方:
@Scanned
@Path("/table")
public class TableREST {
@Inject
@Named("editorImpl")
private final FieldHtmlFactory fieldEditorFactoryImpl;
@Autowired
public TableREST(FieldHtmlFactory editorImp){
this.editorImp = editorImp;
}
...
}
【问题讨论】:
标签: java spring dependency-injection