Préface
Avant d'introduire l'instanciation des haricots, nous devons d'abord introduire ce qui est un haricot et comment configurer les haricots.
Si le printemps est considéré comme une grande usine, alors le haricot dans le conteneur de printemps est le produit de cette usine. Pour utiliser Spring Factory pour produire et gérer les haricots, vous devez spécifier dans le fichier de configuration quels haricots sont nécessaires et comment les assembler ensemble.
Spring Container prend en charge deux formats de fichiers de configuration, à savoir le format de fichier de propriétés et le format de fichier XML. Dans le développement réel, le montant le plus utilisé est le format de fichier XML. Par conséquent, dans l'explication suivante, nous expliquerons la méthode de configuration du format de fichier XML. L'élément racine d'un fichier de configuration XML est <feans>, qui peut contenir plusieurs éléments enfants <an Bean>, chaque élément enfant définit un haricot et décrit comment le haricot doit être assemblé dans un récipient à ressort. Les propriétés de l'élément <an Bean> sont les suivantes:
Dans un fichier de configuration, un bean ordinaire n'a généralement besoin que de définir deux attributs: ID et classe. La façon de définir un haricot est la suivante:
<? xml version = "1.0" Encoding = "utf-8"?> <! Doctype Beans public "- // printemps // dtd bean // en" "http://www.springframework.org/dtd/spring-eans.dtd"> <Beans> <! id = "userdao" /> <bean name = "userdao1, userdao2" /> </bans>
Dans le code ci-dessus, deux haricots sont définis à l'aide des attributs ID et Name, et la classe d'implémentation correspondante est spécifiée à l'aide de l'élément de classe. Si l'ID et le nom ne sont pas spécifiés, Spring utilisera la valeur de classe comme ID.
Quatre façons d'instancier les haricots au printemps
Cet article introduit principalement quatre façons d'instancier des haricots (méthodes d'injection) ou quatre façons de s'appuyer sur l'instanciation des objets. Le programme ci-dessus utilise la méthode de création d'objets Bean et utilise la méthode du constructeur (Spring peut créer des objets de classe sous la privatisation des constructeurs)
Il existe quatre méthodes de création communes:
1) Méthode du secteur
2) Constructeur
3) usine statique
4) Exemple d'usine
1. Utilisez la méthode du secteur
interface publique iUserDao {void addUser (); void DeLUser (); void UpdateUser (); } classe publique UserDaOIMPl implémente iUserDao {public void addUser () {System.out.println ("La méthode AddUser a été appelée"); } public void deLuser () {System.out.println ("La méthode du déluseur était appelée"); } public void UpdateUser () {System.out.println ("La méthode UpdateUser a été appelée"); } public class userAction {private iuserdao dao; // DAO est un objet de dépendance qui doit être géré par Springg et génère la méthode Get set public void execute () {dao.adDuser (); dao.updateUser (); dao.deluser (); }}// Fichier de configuration <bean name = "useraction_name"> <propriété name = "dao" ref = "userdao_name" /> // Le nom est référencé ci-dessous </anE> <bean name = "userdao_name" />
// test classpathxmlapplicationContext ctx = new ClassPathxmlApplicationContext ("beans.xml"); userAction action = (userAction) ctx.getBean ("userAction_name"); action.execcute ();2. Fonction du constructeur
public class userAction {// public userAction () {} Vous pouvez garder un constructeur sans paramètres // ce sont plusieurs dépendances, et il n'est pas nécessaire de générer une méthode Get Set Private UserInfo User; École de cordes privée; Iuserdao privé Dao; // J'espère que Spring injecte l'objet de dépendance UserAction publique (iUserdao dao, utilisateur userInfo, String School) {this.dao = dao; this.school = école; this.user = utilisateur; } public void execute () {dao.adDuser (); dao.updateUser (); dao.deluser (); System.out.println (utilisateur); System.out.println (école);}// Fichier de configuration <bean name = "userInfo_name"> <propriété name = "id" value = "1" /> <propriété name = "username" value = "weekly" /> <propriété name = "mot de passe" value = "123" /> <propriété name = "note" value = "Ceci est une note" /> </ bean> <bean name = "useraction_name"> <construct <constructor-arg ref = "userInfo_name" /> <Constructor-arg value = "Harbin Normal University" /> </Ean> / * Vous pouvez également spécifier les propriétés d'index et de type, ni index ni type ne peuvent être spécifiés <Bean Name = "useraction_name"> <Constructor-arg index = "0" Ref = "userdao_name" type = "Cat.Dao.iusers Interface, il ne peut pas être spécifié pour le type de classe d'implémentation. <constructor-arg index = "1" ref = "userInfo_name" type = "cat.beans.userinfo" /> <constructor-arg index = "2" value = "Harbin Normal University" /> </ bean> * / <bean name = "userdao_name" />
// test classpathxmlapplicationContext ctx = new ClassPathxmlApplicationContext ("beans.xml"); userAction action = (userAction) ctx.getBean ("userAction_name"); action.execcute ();3. Méthode d'usine statique
// Factory, la classe d'implémentation utilisée pour générer une classe publique DAO UserDaofactory {public static iUserdao createUserDaoinstance () {return new UserDaoorCorAmpll (); }} public class userAction {private iuserdao dao; // Utilisez la méthode d'usine pour prêter attention à la valeur, et générer également la méthode set public void execute () {dao.adduser (); dao.updateUser (); dao.deluser ();} public void setDao (iuserdao dao) {this.dao = dao; }}// Fichier de configuration <bean name = "useraction_name"> <propriété name = "dao" ref = "userdao_name" /> </ bean> <bean name = "userdao_name" factory-method = "createUserdaoinstance" />
// test classpathxmlapplicationContext ctx = new ClassPathxmlApplicationContext ("beans.xml"); userAction action = (userAction) ctx.getBean ("userAction_name"); action.execcute ();Iv. Exemple d'usine
// factory => public class userDaofactory {// Cette méthode n'est pas un public statique iuserdao createUserDaoinstance () {return new UserDaoorCorAmpll (); }}// Fichier de configuration <bean name = "useraction_name"> <propriété name = "dao" ref = "userdao_name" /> </ank> <bean name = "userdaofactory_name" /> <any name = "userdao_name" factory-bean = "userdaofactory_name" factory-method = "createUserDaoinTointe" />
Résumer
Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article a une certaine valeur de référence pour l'étude ou le travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer. Merci pour votre soutien à wulin.com.