@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變數的初始化順序為:靜態變數或靜態語句塊–>例項變數或初始化語句塊–>構造方法