gpt4 book ai didi

java - 在纯java类中使用Camel蓝图属性

转载 作者:行者123 更新时间:2023-12-02 02:18:46 24 4
gpt4 key购买 nike

我已成功使用 Camel route 的属性。这次我需要从未定义 Camel 路由的辅助类中的文件中读取值。

这是我的蓝图的属性占位符部分:

<cm:property-placeholder persistent-id="my.package.pph" update-strategy="reload">
<cm:default-properties>
<cm:property name="myFile" value="C:\\temp\\myFile.xml" />
</cm:default-properties>
</cm:property-placeholder>

这就是我声明我希望在我的类中具有该值的方式:

<bean id="myConverter" class="my.package.name.MyClass">
<property name="fileName" value="${myFile}" />
</bean>

然后,在我的类中,我声明了一个与 bean 中的属性同名的变量,并在 Eclipse 中生成了 getter 和 setter。该变量永远不会从蓝图中获取值。

这可能吗,还是我应该寻找替代方案?谢谢

最佳答案

您可以使用 PropertyInject 注释将属性注入(inject)到 Bean 中

@PropertyInject("myFile")
private String fileName;

有了这个,就不需要在最后一个代码块中执行您想要实现的目标。

尽管如此,为了教育目的,如果您这样做:

<bean id="myConverter" class="my.package.name.MyClass">
<property name="fileName" value="${myFile}" />
</bean>

您可以像这样获取 bean 中的值:

private String fileName;

public void setFileName(String myFile) {
this.fileName = myFile;
}

关于java - 在纯java类中使用Camel蓝图属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48865531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com