@PropertySource @Value 静态字符串 return 空
@PropertySource @Value static strings return null
int Activation 和 int ForgotPassword 工作正常,但字符串变量 return null 我需要静态 class 用于 AppSettings
@PropertySource("classpath:appSettings.properties")
public class AppSettings {
@Value("${Activation}")
private static int Activation;
@Value("${ForgotPassword}")
private static int ForgotPassword;
@Value("${CryptoSplit}")
private static String CryptoSplit;
@Value("${CryptoKey}")
private static String CryptoKey;
public static String getCryptoSplit() {
return CryptoSplit;
}
public static String getCryptoKey() {
return CryptoKey;
}
public static int getActivation() {
return Activation;
}
public static int getForgotPassword() {
return ForgotPassword;
}
}
.属性
Activation=0
ForgotPassword=1
CryptoSplit=:OSK:
CryptoKey=TheBestSecretKey
@Value() 在 bean 初始化时被调用,bean 在启动时不需要初始化,所以除非 bean 被初始化,否则你不会有值
Spring 不支持 @Value
在 static 字段上注入。
您确定需要一个"static class for AppSettings"吗?我怀疑这可能代表了对 Spring 单例工作方式的误解。
但是,如果您确实需要 "static class for AppSettings",那么您可以按如下方式实现:
@Value("${CryptoKey}")
public void setCryptoKey(String cryptoKey) {
AppSettings.CryptoKey = CryptoKey;
}
int Activation 和 int ForgotPassword 工作正常,但字符串变量 return null 我需要静态 class 用于 AppSettings
@PropertySource("classpath:appSettings.properties")
public class AppSettings {
@Value("${Activation}")
private static int Activation;
@Value("${ForgotPassword}")
private static int ForgotPassword;
@Value("${CryptoSplit}")
private static String CryptoSplit;
@Value("${CryptoKey}")
private static String CryptoKey;
public static String getCryptoSplit() {
return CryptoSplit;
}
public static String getCryptoKey() {
return CryptoKey;
}
public static int getActivation() {
return Activation;
}
public static int getForgotPassword() {
return ForgotPassword;
}
}
.属性
Activation=0
ForgotPassword=1
CryptoSplit=:OSK:
CryptoKey=TheBestSecretKey
@Value() 在 bean 初始化时被调用,bean 在启动时不需要初始化,所以除非 bean 被初始化,否则你不会有值
Spring 不支持 @Value
在 static 字段上注入。
您确定需要一个"static class for AppSettings"吗?我怀疑这可能代表了对 Spring 单例工作方式的误解。
但是,如果您确实需要 "static class for AppSettings",那么您可以按如下方式实现:
@Value("${CryptoKey}")
public void setCryptoKey(String cryptoKey) {
AppSettings.CryptoKey = CryptoKey;
}