2009-05-24 7 views
0

Je relis ColdSpring en 5 minutes. Il est dit "UserService a besoin de UserGateway, et UserGateway a besoin de ConfigBean". Non, non! Le UserService n'a besoin de rien. Il n'appelle pas UserGateway. Tout ce qu'il fait est de définir une variable qu'il arrive d'appeler userGateway par coïncidence, mais il n'appelle pas le composant User Gateway. Aidez-moi à comprendre ce scénario apparemment simple!ColdSpring en cinq minutes

Répondre

3

Il ne faut pas oublier que cette application de démarrage ne permet pas de tout expliquer de manière intentionnelle afin d'éviter toute confusion. Une fois complètement configuré, l'exemple d'application initialise les trois composants. Le composant UserService CFC a la responsabilité de définir et d'obtenir le composant User Gateway, le composant User Gateway a la responsabilité de définir et d'obtenir le composant Config Bean et le composant Config Bean est conçu pour définir et obtenir les paramètres de l'application (dans ce cas, information sur la source de données).

Je ne m'inquiéterais pas trop pour cela maintenant si vous ne comprenez pas comment tout cela fonctionne; Le guide de référence de ColdSpring mettra tout cela en évidence pour vous.

0

La ligne "Le UserService a besoin du UserGateway" signifie que l'une des fonctions contient une variable ou un appel qui nécessite le UserGateway, pas nécessairement que le UserService a un besoin intrinsèque. C'est au cœur de ce que fait ColdSpring ... gérer les dépendances. Si le UserService n'a pas été configuré pour être injecté avec UserGateway, alors lorsqu'une variable qui "arrive" à appeler ou dont le UserGateway a besoin est créée, il ne pourra pas trouver le UserGateway requis, sauf si vous l'instanciez manuellement.

Dans le guide de démarrage rapide de ColdSpring, par exemple, dans «Factory Beans», recherchez «More Advanced». L'exemple de 5 minutes était juste que, par exemple, vous n'avez vu aucun appel dans les fonctions qui nécessitaient le UserGateway, mais quand vous en avez besoin, vous serez heureux d'avoir été injecté pour vous afin que vous n'ayez pas à le faire vous-même.

Questions connexes