【发布时间】:2013-10-30 09:39:54
【问题描述】:
我有一个包含这一行的配置文件:
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;
}
}
如何将配置文件的属性(String)转换为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?
【问题讨论】:
-
这不是该问题的重复,请参阅编辑。
-
所以stackoverflow.com/questions/13030974/… 会有所帮助吗?
-
感谢您的建议,但答案很简单......我会发布它