Vol*_*lte 2 java spring javabeans
我有以下代码:
package vb4.email;
import org.springframework.beans.factory.annotation.Value;
public enum ValidAddresses {
// TODO: Is there a cleaner way to switch debugs?
// How do we make this bean-able?
@Value("${email.addresses.defaults.support}")
DEFAULT_SUPPORT_ADDRESS("support@example.com"),
@Value("${email.addresses.defaults.performance}")
DEFAULT_PERFORMANCE_SUPPORT_ADDRESS("speed@example.com");
private final String email;
private ValidAddresses(final String email){
this.email = email;
}
@Override
public String toString()
{
return this.email;
}
}
Run Code Online (Sandbox Code Playgroud)
从我的@Value注释中可以看出,我正在寻找"豆化"这个过程.我希望枚举的好处作为构造,但我想在我们的.properties文件中进行配置.请记住,具有所有key = value对的.properties文件在整个站点中被广泛使用.
请保留你的答案; 我不打算辩论已经存在的有效性.(相信我,我理解你的沮丧).
小智 6
您可以为ValidAddresses枚举提供setter,然后使用初始值设定项
@Configurable
public class EnumValueInitializer {
@Value("${email.addresses.defaults.support}")
private String support;
@PostConstruct
public void postConstruct() {
initializeAddressesEnum();
}
private void initializeAddressesEnum() {
ValidAddresses.DEFAULT_SUPPORT_ADDRESS.setEmail(support);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望它会有所帮助.祝好运.
| 归档时间: |
|
| 查看次数: |
4211 次 |
| 最近记录: |