Java 取决于非Spring项目中的Spring项目
我有两个Java应用程序需要组合。一个是Spring,第二个是Elasticsearch插件,需要调用其中的方法(我认为它不能变成Spring应用程序,因为它已经使用某种形式的GUI进行依赖注入) 我需要调用的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
@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插件中,则AutowireddataTypesMap
始终为空(这是预期的,因为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应用程序的上下文
你可以在这里看到怎么做