@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ファイルは次のようになります私のポートの値を取得しますが、私ははい、私はこれは整数値である必要があります知っているが、私の問題>
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