2017-03-06 12 views
1

私は2つのJavaアプリケーションを結合する必要があります。 1つはSpringであり、その中のメソッドは2番目のElasticsearchプラグイン(これは既にSpringの依存関係注入のためにGuiceのいくつかの形式を使用しているとは思われません)によって呼び出される必要があります。私はのようなルックスを呼び出す必要が非SpringプロジェクトのSpringプロジェクトに応じて、

Springクラス:私はちょうどESプラグイン内Mavenの依存関係として、このプロジェクトを追加した場合

@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); 
    } 

は、Autowired dataTypesMapは何として期待されるようになる(常にnullでありますElasticsearchプラグインでautowireの方法を教えてくれる)。

ここでは何ができますか?

答えて

0

autowiredフィールドにセッターメソッドを使用して値を設定できます。

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

アプリケーションでは、この自動実行はできませんが、設定することはできます。

myBean.setDataTypeMap(); 

第2のオプションは、非スプリングアプリケーション内のスプリングアプリケーションのコンテキストを開始することです。

ここでその方法を確認できます。

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

関連する問題