Java 取决于非Spring项目中的Spring项目

Java 取决于非Spring项目中的Spring项目,java,spring,Java,Spring,我有两个Java应用程序需要组合。一个是Spring,第二个是Elasticsearch插件,需要调用其中的方法(我认为它不能变成Spring应用程序,因为它已经使用某种形式的GUI进行依赖注入) 我需要调用的Spring类如下所示: @Component public class DataServiceController { //This is defined within a @Config @Autowired DataTypesMap dataTypesMap

我有两个Java应用程序需要组合。一个是Spring,第二个是Elasticsearch插件,需要调用其中的方法(我认为它不能变成Spring应用程序,因为它已经使用某种形式的GUI进行依赖注入)

我需要调用的Spring类如下所示:

@Component
public class DataServiceController {

    //This is defined within a @Config
    @Autowired
    DataTypesMap dataTypesMap;

    /**
     * Create an item in the data platform
     */
    public ItemCreatedResponse createItem(String data, String dataType)
            throws IOException {
        ProcessStrategy dataStrategy = dataTypesMap.get(dataType);
        return dataStrategy.add(data);
    }
如果我只是将此项目作为Maven依赖项添加到ES插件中,则Autowired
dataTypesMap
始终为空(这是预期的,因为Elasticsearch插件中没有任何内容会告诉它如何自动连接)


我可以在这里做什么?

您可以对自动连接字段使用setter方法,然后设置值

@autowired
public void setDataTypesMap (DataTypesMap  dataTypesMap ){
 this.dataTypesMap = dataTypesMap ;
}
在应用程序中,不能自动连接bean,但可以设置它

myBean.setDataTypeMap();
第二个选项是在非spring应用程序内部启动spring应用程序的上下文

你可以在这里看到怎么做


您可以对自动连接字段使用setter方法,然后设置值

@autowired
public void setDataTypesMap (DataTypesMap  dataTypesMap ){
 this.dataTypesMap = dataTypesMap ;
}
在应用程序中,不能自动连接bean,但可以设置它

myBean.setDataTypeMap();
第二个选项是在非spring应用程序内部启动spring应用程序的上下文

你可以在这里看到怎么做