// 普通属性赋值 配置文件中若无 user.val.name 属性,会报错 @Value("${user.val.name}") private String name;
// 普通属性赋值(默认值) 配置文件中若无 user.val.name 属性, 不会报错 @Value("${user.val.name:小明}") private String name ;
// 错误方法:静态属性赋值 @Value 属性注入无效 @Value("${user.val.age}") private static Integer age ;
// 错误方法:静态属性赋值 方法被 static 关键词修饰 @Value 属性注入无效 @Value("${user.val.age}") public static void setAge(Integer age) { UserVal.age = age; }
- 静态属性赋值正确方法
public static String appId; // set注入 @Value("${ali.appId}") public void setAppId(String appId) { appId = appId; }
public static String appId; @Value("${ali.appId}") private String appId2; //@Autowired private Environment environment; @Autowired private void setq(Environment environment){ System.out.println("依赖注入方法执行 = " + environment); this.environment = environment; } @PostConstruct public void init(){ // appId = appId2; appId = environment.getProperty("ali.appId"); }