次の行を含む構成ファイルがあります。
login.mode=PASSWORD
および列挙型
public enum LoginMode {
PASSWORD, NOT_PASSWORD, OTHER }
そして春の豆
<bean id="environment" class="a.b.c.Environment" init-method="init">
<property name="loginMode" value="${login.mode}"/>
</bean>
そしてもちろんBeanクラス
public class Environment {
private LoginMode loginMode;
public LoginMode getLoginMode() {
return loginMode;
}
public void setLoginMode(LoginMode loginMode) {
this.loginMode = loginMode;
}
}
構成ファイル (文字列) のプロパティを対応する LoginMode の列挙値に変換するにはどうすればよいですか?
編集:文字列入力の列挙値を取得する方法は知っていますが、問題は別のものです:これを試してみると:
public class Environment {
private LoginMode loginMode;
public LoginMode getLoginMode() {
return loginMode;
}
public void setLoginMode(String loginMode) {
this.loginMode = LoginMode.valueOf(loginMode);
}
}
spring は、getter と setter が同じ入力と出力の型を持っていないことについて不平を言っています。
Bean property 'loginMode' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?