Cet article explore principalement un contenu connexe sur la portée et le cycle de vie des haricots, comme suit.
Portée de Bean
Le printemps 3 définit cinq portées pour Bean, à savoir Singleton (Singleton), prototype (prototype), demande, session et session mondiale. Les cinq portées sont expliquées comme suit:
1.Singleton: mode singleton, il n'y aura qu'une seule instance de haricot partagée dans le conteneur Spring IOC, peu importe le nombre de haricots qui y font référence, ils pointent toujours le même objet. Singleton Scope est la portée par défaut du printemps. Vous pouvez également définir les haricots comme un mode singleton et les configurer comme:
<bean id="userDao" scope="singleton"/>
2.Protype: mode prototype. Chaque fois qu'un bean défini prototype est obtenu via un conteneur à ressort, le conteneur créera une nouvelle instance de bean. Chaque instance Bean a ses propres attributs et état, et Singleton n'a qu'un seul objet dans le contexte mondial. En règle générale, utilisez la portée du prototype pour les haricots avec état et la portée singleton pour les haricots apatrides.
3.Request: Dans une demande HTTP, le conteneur renverra la même instance du bean. Cependant, un nouveau bean sera généré pour différentes demandes HTTP, et le bean n'est valide que dans la demande HTTP actuelle.
<bean id="loginAction" scope="request"/> , pour chaque demande HTTP, le conteneur de printemps crée une nouvelle instance en fonction de la définition du bean, et l'instance n'est valide que dans la demande HTTP actuelle, et d'autres demandes ne peuvent pas voir la modification de l'état dans la demande actuelle. Lorsque la demande HTTP actuelle se termine, l'instance Bean sera également détruite.
4.SESSION: Dans une session HTTP, le conteneur renverra la même instance du haricot. Pour différentes demandes de session, une nouvelle instance sera créée et l'instance Bean n'est valide que dans la session en cours.
<bean id="userPreference" scope="session"/> , identique à la demande HTTP, créez une nouvelle instance à chaque demande de session, et aucun attribut n'est partagé entre différentes instances, et l'instance n'est valide que dans sa propre demande de session. Si la demande se termine, l'instance sera détruite.
5. SESSION DE LA SÉSSION: Dans une session HTTP globale, le conteneur renverra la même instance du bean, qui n'est valable que lors de l'utilisation du contexte de portlet.
Le cycle de vie d'un haricot
Après l'introduction de la portée des haricots comme mentionné ci-dessus, le cycle de vie des haricots sera expliqué sur la base de la portée des haricots.
Les conteneurs de printemps peuvent gérer le cycle de vie des haricots sous la portée singleton. Dans cette portée, le printemps peut savoir exactement quand le haricot est créé, lorsque l'initialisation est terminée et quand elle est détruite. Pour les haricots de portée prototype, le printemps n'est responsable que de les créer. Lorsque le conteneur crée une instance du bean, l'instance du bean est remise à la gestion du code du client. Le conteneur à ressort ne suivra plus son cycle de vie et ne gérera pas le cycle de vie de ces haricots configurés comme portée prototype. L'exécution du cycle de vie d'un haricot dans le printemps est un processus très complexe, et les lecteurs peuvent utiliser les méthodes fournies par Spring pour personnaliser le processus de création de haricots. Les conteneurs à ressort font beaucoup de travail avant de s'assurer qu'une instance de haricot peut être utilisée:
Résumer
Ce qui précède concerne cet article discutant de la portée et du cycle de vie des haricots au printemps. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!