L'éditeur ci-dessous vous proposera une brève discussion sur les paramètres default-lazy-init et lazy-init au printemps. L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil
Il existe une configuration default-lazy-init="true" sur le nœud racine dans la configuration Spring :
1. Le paramètre default-lazy-init de .spring
Ce paramètre indique un chargement retardé, c'est-à-dire que le bean annoté ne sera pas instancié au démarrage du projet, à moins que ne démarre le projet <.> Doit être utilisé, l'annotation non instanciée objet est injectée et appelée lorsque le programme accède réellement à l'appel
Au début du printemps, le paramètre default-lazy-init est par défaut false et sera être chargé par défaut. L'intégralité du diagramme d'instance d'objet, de la configuration d'initialisationspring fournit l'attribut default-lazy-init , sa forme de configuration est la suivante, dans applicationContext.xml :
< beans default-lazy-init ="true" > ....... </beans>En développement réel, l'attribut default-lazy-init peut être défini sur true, ce qui peut réduire considérablement le temps de démarrage du projet
2. attributs au printemps
1. lazy-init
<beans> <bean id="service1" type="bean路径" lazy-init="true"/> <bean id="service2" type="bean路径" lazy-init="false"> <property name="service1" ref="service1"/> </bean> </beans>Pour les deux beans ci-dessus, un attribut lazy-init est vrai et le other est faux. Quelle est la différenceLorsque le conteneur IoC démarre, service2 sera instancié, mais pas service1, mais lorsque le conteneur instancie service2, service1 est également instancié. Pourquoi, car service2 en a besoin. En d'autres termes, pour les beans lazy-init="true", le bean ne sera pas instancié au démarrage du conteneur IoC. Il ne sera instancié que lorsque le conteneur aura besoin de l'utiliser. Lazy-init est bénéfique pour l'efficacité du conteneur et vous pouvez ignorer les beans inutiles.
priorité de default-lazy-init. .
Les annotations Spring peuvent être annotées sur le nom de la classe à l'aide de la balise d'annotation @Lazy(false), ce qui équivaut à configurer l'attribut lazy-init dans le bean2. abstract
<bean id="baseTxService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true"> </bean>Lorsque le bean abstract="true", le bean ne sera pas instancié
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!