I want to use my application constants within spring xml configuration.
I know to do that with spring SpEl with something like this:
<bean class="example.SomeBean">
<property name="anyProperty" value="#{ T(example.AppConfiguration).EXAMPLE_CONSTANT}" />
<!-- Other config -->
</bean>
So, is there a better way to do this?
You could use <util:constant>
(See C.2.2 The util schema):
<bean class="example.SomeBean">
<property name="anyProperty">
<util:constant static-field="example.AppConfiguration.EXAMPLE_CONSTANT" />
</property>
</bean>
It's debatable as to whether that's any better, though. Your SpEL version is more succinct.
Another option is to use the Java configuration style, which is more natural (see 4.12 Java-based container configuration):
@Bean
public SomeBean myBean() {
SomeBean bean = new SomeBean();
bean.setProperty(EXAMPLE_CONSTANT); // using a static import
return bean;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With