@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变量的初始化顺序为:静态变量或静态语句块–>实例变量或初始化语句块–>构造方法

posted @ 2022-05-09 15:58  liftsail  阅读(692)  评论(0编辑  收藏  举报