java中成员变量productDao并没有初始化,为什么可以调用方法?
伊谢尔伦
伊谢尔伦 2017-04-18 10:56:06
0
6
626

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(6)
阿神

Autowired修饰了该变量,Spring容器中获取对应的Bean設定為該變數的值。

洪涛

你使用了 Spring 框架,又用 @Controller 註解由 Spring 管理該 ProductController,當 ProductController 實例化後會搜尋 @Autowired 並註入其他由 Spring 管理的實例。

黄舟

productDao 上面使用 @Autowired 註解,意思就是從 Spring 上下文中自動注入實例.

Spring 上下文中類別都是單例, 啟動後這些類別都會在上下文中初始化好,所以你在 ProductController 中可以直接呼叫.

大家讲道理

這是被自動注入的,ProductDaoFacade應該被聲明為了一個bean。

ps:ProductDaoFacade这个代码写得真是太奇怪了,明明是个interface还facade(这是一个设计模式)。同时,还放了那么多常量,这是典型的constant interface。简单来说,建议使用枚举类。如果想深入了解一下,建议参考effective java中的建议之一————接口只用于定义类型

Peter_Zhu

spring 在包掃描時 發現 @Controller 註解 將controller類進行了管理維護 在發現@Autowired後 啟動了裝配機制並根據改屬性類型在Spring 管理的Bean的上下文中進行了查找 進行了注入 專業名詞叫做IOC

伊谢尔伦

這個叫春的框架 幫你做了啊<_>

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!