2017-02-01 5 views
0

Am пытается разработать приложение интеграции с верблюдом помощью JAVA DSL, но когда я пытаюсь autowire моего помощника соединения я получаю нулевое значениеApache Camel с Java и Spring кодексом на Java DSL

Вот код:

import com.example.helperproject.ConnectionHelper; 

@Singleton 
@Startup 
@ComponentScan(basePackages = {"com.example.helperproject"}) 
public class Bootstrap { 

    @Autowired 
    private ConnectionHelper connectionHelper; 



    @PostConstruct 
    public void init() throws Exception { 

     try { 
      System.out.println("Init process begin in singleton bootstrap"); 

      System.out.println(connectionHelper); 
      } 

ConnectionHelper печатает нулевое значение, когда мы пытаемся автоусилировать с помощью пружины при использовании JAVA DSL. Помогите мне с любым примером проекта и как продолжить дальше?

Добавление ConnectionHelper:

package com.example.helperproject; 

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Component; 

/** 
* ConnectionHelper to establish connection to Database 
* 
* 
*/ 
@Component 
public class ConnectionHelper { 

    @Autowired 
    private PropertyHelper propertyHelper; 

    /** 
    * Method for getting host 
    * 
    * @return host variable for connection 
    */ 
    private String getHost() { 
     String host = propertyHelper.getPropertyByName("host") == null ? "localhost" 
       : propertyHelper.getPropertyByName("host"); 
     return host; 

    } 


    public void insertXMLDocument() { 
     System.out.println("Test Insert"); 
     System.out.println("------------------>HOST :" + this.getHost()); 
    } 
} 
+0

Можете ли вы добавить класс ConnectionHelper в свой вопрос? – yaswanth

+0

@yaswanth Добавил код помощника подключения тоже. – Vikram

ответ

0

Вы должны попробовать добавить @Configuration аннотацию класса Bootstrap.

Аннотации ComponentScan анализируются ComponentScanAnnotationParser, который вызывается из ConfigurationClassParser. Это сканирует только классы с аннотацией @Configuration. По сути, ваш компонентный компонент не работает в вашем коде.

документация также предлагает использовать @ComponentScan с @Configuration

http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/ComponentScan.html

Edit 1: Вы можете попытаться поместить компонент сканирования в XML и посмотреть, если он работает.

+0

Даже после добавления @Configuration в классе Bootstrap не имеет никакого значения, все еще получая то же самое нулевое значение. Можете ли вы сообщить мне другой способ справиться с этим сценарием ... – Vikram

+0

Можете ли вы опубликовать XML-файл, который вы используете? Вы начинаете весенний верблюд? – yaswanth