我创建邮件服务配置的组件>>春天@Value不承认基于整数属性值
@Component
@PropertySource("classpath:mail.properties")
public class Mail {
@Value("${email.config.host}")
private String host;
@Value("${email.config.port}")
private Integer port;
@Value("${email.config.username}")
private String username;
}
而且我mail.properties文件看起来像>>
email.config.host=smtp.gmail.com
email.config.port=587
[email protected]
email.config.password=password
我试着获取我的端口值,但我有问题>
java.lang.NumberFormatException: For input string: "${email.config.port}"
是的,我知道这应该是一个整数值,但我的将@Value注释转换为String。所以我试过这个:
@Value("#{ T(java.lang.Integer).parseInt('${email.config.port}')}")
......得到了同样的结果。
主机,用户名,密码等加载好! 我如何获得我的端口值? 为什么PropertySource不会自动转换此参数?
你为什么认为'@PropertySource(“classpath:mail.properties”)'属于那里? –
所以你试过'parseInt('$ {email.port}')'?为什么?我的意思是,属性被命名为'email.config.port',而不是'email.port',对吧? – Andreas
Yeap!我得到了错误设置$ {email.config.port}。对不起! – davidwillianx