我正在尝试从用m子编写的Java代码的属性文件中获取属性。
Class Example {
@NotBlank("message" = "${prop1}")
String key1;
String key2;
}
prop1
是存储在属性文件中的属性
prop1 = " 001 | key1 cannot be blank"
我希望将prop1
解析为001 | key1 cannot be blank
。 ${propname}
不起作用。我无法使用值注释,因为我想在消息中保存属性的值。
最好的方法是不依赖于任何Mule特定代码,并且像对待其他任何参数一样处理该属性,只需将其作为参数传递即可。因此,当实例化或调用某个方法时,只需在Mule端传递属性:
<java:new class="com.me.Person" constructor="Person(String, Integer)">
<java:args>#[{
name: Mule::p('prop1'),
age: 30
}]</java:args>
</java:new>
否则,您将取决于Java代码的加载方式,因为您需要注入ConfigurationProperties实例并使用它来解析属性:
@Inject
private ConfigurationProperties configurationProperties;
String getProperty(String name) {
return configurationProperties.resolveStringProperty(name).orElse(null);
}
这意味着您的Java代码必须是SDK模块的一部分,以便进行注入。