@Service和@Repository bean没有在Spring启动和Apache驼峰中初始化

时间:2016-08-06 04:13:33

标签: java spring-boot apache-camel

在我的驼峰和春季启动应用程序中,我有一个简单的路径:folder-> processor->文件夹。

在处理器中,服务和存储库始终为null。在测试类中,这些不是null。

@Override
public void configure() throws Exception
{
    from("file:input")
    .log("from file")
    .process(new MyProcessor())
    .to("file:destination")
    .log("to destination")`
    .end();
}

我错过了什么。为什么存储库和服务bean在处理器中为空,但在测试类中工作正常。

1 个答案:

答案 0 :(得分:1)

您是通过new MyProcessor()手动创建处理器,这意味着Spring不会为您自动装配依赖项。

您应该使用Camel Bean support代替:

@Override
public void configure() throws Exception
{
    from("file:input")
    .log("from file")
    .bean("myProcessor")
    .to("file:destination")
    .log("to destination")`
    .end();
}

或者,如果您的MyProcessor bean实现了Camel的Processor,您可以执行以下操作:

@Autowired
private MyProcessor processor;

@Override
public void configure() throws Exception
{
    from("file:input")
    .log("from file")
    .processor(processor)
    .to("file:destination")
    .log("to destination")`
    .end();
}