繁体   English   中英

取决于非Spring项目的Spring项目

[英]Depending on a Spring project from a non-Spring project

我有两个Java应用程序,我必须结合起来。 一个是Spring,其中的方法需要由第二个调用,一个Elasticsearch插件(我认为不能将其转换为Spring应用程序,因为它已经使用某种形式的Guice进行依赖注入)。

我需要调用的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);
    }

如果我只是在ES插件中将此项目添加为Maven依赖项,则Autowired dataTypesMap始终为null(这是预期的,因为Elasticsearch插件中的任何内容都不会告诉它如何自动装配)。

我能在这做什么?

您可以为自动装配字段使用setter方法,然后设置值。

@autowired
public void setDataTypesMap (DataTypesMap  dataTypesMap ){
 this.dataTypesMap = dataTypesMap ;
}

在您的应用程序中,您无法自动装配bean,但您可以设置它。

myBean.setDataTypeMap();

第二个选项是在非弹簧应用程序内启动弹簧应用程序的上下文。

你可以在这里看到如何做到这一点。

http://www.springbyexample.org/examples/intro-to-ioc-creating-a-spring-application.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM