闵行网站制作,环保创业项目,竞价恶意点击犯法吗,万网网站制作文章目录一、简介二、Value给静态变量注入值方案一#xff1a;set()方法设置方案二#xff1a;PostConstruct注解修饰的方法中进行赋值三、总结一、简介 
SpringBoot 中给普通变量注入值只需在变量上添加 Value 注解即可。 
application.properties 配置文件有如下配置#…
文章目录一、简介二、Value给静态变量注入值方案一set()方法设置方案二PostConstruct注解修饰的方法中进行赋值三、总结一、简介 
SpringBoot 中给普通变量注入值只需在变量上添加 Value 注解即可。 
application.properties 配置文件有如下配置 
mail.nameadmin163.com
main.pwdadmin123给普通变量赋值时直接在变量声明之上添加 Value() 注解即可。 
Value(${mail.name:admin163.com})
private String mailName;Value(${mail.pwd:admin123})
private String mailPwd;注需要在类上添加 Component 注解。 当要给 静态变量 注入值的时候若是在静态变量声明之上直接添加Value() 注解是无效的。 
Value(${mail.name:admin163.com})
private static String mailName;Value(${mail.pwd:admin123})
private static String mailPwd;虽然在编译和运行上没有报错但是mailName、mailPwd的值都是NULL。 那么如何给静态变量注入值呢 二、Value给静态变量注入值 
方案一set()方法设置 
Component
public class MailInfo{public static String mailName;public static String mailPwd;Value(${mail.name:admin163.com})public void setMailName(String name){mailName  name;}Value(${mail.pwd:admin123})public void setMailPwd(String pwd){mailPwd  pwd;}
}注需要在类上加入 Component 注解方法名 setMailName 和参数名 name 可以任意命名。 方案二PostConstruct注解修饰的方法中进行赋值 
Component
public class MailInfo{Value(${mail.name:admin163.com})public String preMailName;Value(${mail.pwd:admin123})public String preMailPwd;public static String mailName;public static String mailPwd;PostConstructpublic void init(){mailName  preMailName;mailPwd  preMailPwd;}
}三、总结 Spring不允许/不支持把值注入到 静态变量 中  Spring的 Value 依赖注入是依赖 set() 方法  set() 方法是普通的对象方法  static 变量是类的属性static没有 set() 方法