我有一个包含这一行的配置文件:
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>
当然还有一个豆类
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?