Grâce à cet article, je vous présenterai plusieurs méthodes d'instanciation de haricots à ressort à travers l'exemple de code. Jetons un coup d'œil au contenu spécifique.
1. Utilisez le constructeur de classe pour implémenter l'instanciation (le propre constructeur de Bean)
<bean id = "orderservice" />
2. Utilisez des méthodes d'usine statiques pour obtenir une instanciation
<bean id = "PersonService" class = "cn.itcast.orderFactory" Factory-Method = "CreateOrder" /> public class OrderFactory {private static orderFactory orderFactory = new OrderFactory (); Order OrderFactory (); Public Static OrderFactory CreateOrder () {return OrderFactory; }}3. Utilisez la méthode d'usine d'instanciation pour réaliser l'instanciation (à travers des haricots d'autres entités)
<bean id = "PersonServiceFactory" class = "cn.itcast.service.orderfactory" /> <bean id = "PersionService" factory Bean = "PersonServiceFactory" Material-Method = "CreateOrder" /> public class OrderFactory {private static orderservice orderservice = new orderservice (); Order OrderFactory (); Public Static OrderService CreateOrderserviceBean {retour d'orderservice; }}Nous appelons généralement le beanfactory ou ApplicationContext responsable du chargement du conteneur à ressort de beans. Les deux sont chargés de beans via le fichier de configuration XML. Par rapport à ApplicationContext et BeanFacotry, la principale différence est que Beanfacotry est un chargement paresseux, et le bean à instanciation lorsque GetBean () est appelé. Si un certain attribut du haricot ne peut pas être injecté, une exception sera lancée à ce moment; et ApplicationContext Instanciation de tous les haricots lors de l'initialisation de lui-même, à moins que Lazy-Init = "True" ne soit défini sur le bean, ce qui est propice à la vérification si l'attribut de dépendance peut être injecté.
De plus, ApplicationContext fournit plus de fonctions d'extension, telles que le traitement international des fichiers de ressources à charger et le traitement de BeanPostProcessor. Par conséquent, dans les applications J2EE, nous choisissons généralement d'utiliser ApplicationContext. Que ce soit en utilisant BeanFactory ou ApplicationContext, Spring initialise les Beans dans Singleton par défaut.
Pour l'initialisation de BeanFactory, le code suivant est généralement utilisé:
ClassPathResource Resource = new ClassPathResource ("Bean.xml"); Beanfactory Factory = new XMLBeAnfactory (ressource);Pour l'initialisation de ApplicationContext, il est généralement configuré dans web.xml:
<Touxet-Param> <Am param-name> ContextConfigLocation </ Param-Name> <Amam-Value> ClassPath: conf / AppContex
Résumer
Ce qui précède est toute l'explication détaillée du code des haricots d'instanciation de ressort. 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!