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

伊谢尔伦
伊谢尔伦

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

répondre à tous(6)
阿神

Autowired modifie la variable, et le Spring correspondant est obtenu à partir du conteneur Bean et est défini sur la valeur de la variable.

洪涛

Vous utilisez le framework Spring et annotez le ProductController avec @Controller à gérer par Spring. Lorsque ProductController est instancié, il recherchera @Autowired et injectera d'autres instances gérées par Spring.

黄舟

L'annotation @Autowired est utilisée sur productDao, ce qui signifie que les instances sont automatiquement injectées depuis le contexte Spring.

Les classes dans le contexte Spring sont toutes des singletons. Après le démarrage, ces classes seront initialisées dans le contexte, vous pourrez donc les appeler directement dans ProductController.

大家讲道理

Ceci est automatiquement injecté, ProductDaoFacade doit être déclaré comme un bean.

ps :ProductDaoFacadeL'écriture de ce code est vraiment bizarre. C'est évidemment une interface mais aussi une façade (c'est un design pattern). En même temps, il y a tellement de constantes, ce qui est typique constant interface. En termes simples, il est recommandé d'utiliser des classes d'énumération. Si vous souhaitez en savoir plus, il est recommandé de vous référer à l'une des suggestions de java efficace————接口只用于定义类型.

Peter_Zhu

spring a trouvé l'annotation @Controller lors de l'analyse du package et a géré et maintenu la classe du contrôleur. Après avoir découvert @Autowired, il a démarré le mécanisme d'assemblage, l'a recherché et injecté dans le contexte des beans gérés par Spring en fonction du type d'attribut modifié. . Le terme professionnel s'appelle IOC

.
伊谢尔伦

Ce framework appelé Spring a été fait pour vous<_<

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal