@Autowired作用在类的构造方法上的作用
1.当我们需要在类的构造方法里面里面获得需要注入的对象时:
2.Java代码
@Component
public class ApplicationProperties implements CommandLineRunner {
public static String appid = "";
public static String appSecret = "";
public static String domain = "";
public static String download_host = "";
@Autowired
public ApplicationProperties(
@Value("${wps.appid}") String appid,
@Value("${wps.appsecret}") String appSecret,
@Value("${wps.download_host}") String download_host,
@Value("${wps.domain}") String domain) {
ApplicationProperties.appid = appid;
ApplicationProperties.appSecret = appSecret;
ApplicationProperties.domain = domain;
ApplicationProperties.download_host = download_host;
}
@Override
public void run(String... args) throws Exception {
}
}
3.可以在构造方法上使用@Autowire,若不添加会报错,因为Java类会先执行构造方法,然后再给注解了@Autowired 的user注入值,所以在执行构造方法的时候,就会报错。
Java变量的初始化顺序为:静态变量或静态语句块–>实例变量或初始化语句块–>构造方法