亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

自動裝配與導入

自動裝配與導入

幕布斯6054654 2021-09-03 17:05:08
我對 spring boot 很陌生,我正在努力掌握它的概念?,F在我在其中遇到了@Autowired。我對它非常了解。就像,當您編寫 @Autowired 時,事情發生在兩次傳遞中,并且在第二次傳遞中 spring 注入 bean。現在,我有這個例子;Class Abc {    @Autowired    private Xyz xyz;    PSVM(String...z) {        xyz.hello();    } }導入基本上是將代碼導入到文件中。所以,Import com.tilak.Xyz;Class Abc {    private Xyz xyz;    PSVM(String...z) {        xyz = new Xyz();        xyz.hello();    }}為什么我應該/不應該選擇后者?做第一個有什么好處嗎?我應該在哪里使用第一個,我應該在哪里使用第二個?
查看完整描述

2 回答

?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

它基本上是關于對象創建的。當您自動裝配某些東西時,該特定 bean 由 spring 上下文管理,并且只有特定類的一個實例將由 spring 上下文構造,并且當您對該類類型對象使用 Autowire 時,將提供該特定實例。但是當你將一些東西導入你的類時,這并不意味著你有那個特定類的實例;你必須自己初始化它。如果你想把它當作一個單例對象,基本上你會為它編寫完整的代碼。

此外,它們之間還有一些基本區別,比如如果您想訪問類中的靜態變量,則不需要該類的實例。(您可以通過類引用訪問它們)在這種情況下,您不需要 Autowire 但需要 Import 語句。

但另一方面,如果您有興趣體驗 Spring 的力量,比如 Autowire 配置,并且可能會驗證它們以及 spring 提供的所有那些很酷的功能,您需要根據需要使您的類成為組件和 Autowire。


查看完整回答
反對 回復 2021-09-03
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

我相信你混淆了 Spring 和 Java 語言。

Autowire與“代碼注入”有關。(就像您描述的那樣。)并且是 Spring 框架的一部分。

但是,import(帶有小寫的 i)是 Java 語言的一部分。就像你說的,讓其他代碼可以在你添加它的類中使用。import無論您是否使用 Spring 框架,都將使用。

這兩個語句的目的完全不同,并且與其他語句一起使用。

例如。您正在自動裝配的類也將被導入(如果它在不同的 Java 包中)。

但話雖如此,@ImportSpring 框架中還有一個注解用于導入 Spring Configuration 類。我猜這是混淆的起源。

我強烈建議您完成 Java 課程的快速介紹。這將使您學習 Spring 更加愉快:)


查看完整回答
反對 回復 2021-09-03
  • 2 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號