Maison Java javaDidacticiel Spring Framework Learning (2) Injection de dépendances

Spring Framework Learning (2) Injection de dépendances

Dec 29, 2016 pm 01:10 PM

Le framework Spring nous propose trois méthodes d'injection, à savoir l'injection d'ensemble, l'injection de constructeur et l'injection d'interface. L'injection d'interface n'est pas nécessaire. Les deux premières méthodes sont présentées ci-dessous.

1, set injection
Utilisez la méthode set de l'attribut à initialiser, appelée set injection.
1) Attribuez des valeurs aux types de caractères courants.

public class User{
   privateString username;
 
   publicString getUsername() {
       returnusername;
   }
   publicvoid setUsername(String username) {
      this.username= username;
   }
}
Copier après la connexion

Il suffit de fournir la méthode set de l'attribut, puis d'aller dans le fichier de propriétés pour le configurer afin que le framework puisse trouver la balise beans du fichier applicationContext.xml. Ajoutez une balise de bean pour baliser les beans,
spécifiez l'identifiant, la valeur de la classe, la valeur de l'identifiant n'est pas requise, la valeur de la classe est le chemin complet où se trouve l'objet. Ajoutez la balise property
à la balise du bean et la valeur du nom doit être cohérente avec le nom de la propriété correspondante dans la classe User. La valeur value est la valeur que nous voulons attribuer à l'attribut username dans la classe User.

<bean id="userAction"class="com.lsz.spring.action.User" >
	<property name="username" value="admin"></property>
</bean>
Copier après la connexion

2) Attribuer une valeur à l'objet
Fournissez également la méthode set de l'objet

public class User{
     private UserService userservice;
     public UserServicegetUserservice() {
          returnuser;
     }
     public void setUserservice(UserService userservice){
         this.userservice= userservice;
     }
}
Copier après la connexion

Dans le fichier de configuration, ajoutez la déclaration du bean label de UserService et la référence de l’objet User à UserService.

<!--对象的声明-->
<bean id="userService" class="com.lsz.spring.service.UserService"></bean>
 
<bean id="userAction"class="com.lsz.spring.action.User" >
   <property name="userservice" ref="userService"></property>
</bean>
Copier après la connexion

Avec cette configuration, le framework injectera l'objet UserService dans la classe User.

3) Attribuer des valeurs à la collection de listes
fournit également la méthode set

public class User{
    privateList<String> username;
    publicList<String> getUsername() {
        returnusername;
    }
    publicvoid setUsername(List<String> username) {
        this.username= username;
    }
}
Copier après la connexion
<bean id="userAction"class="com.lsz.spring.action.User" >
     <propertyname="username">
           <list>
               <value>zhang,san</value>
               <value>lisi</value>
               <value>wangwu</value>                                
               </list>
    </property>
</bean>
Copier après la connexion

4) Attribuer des valeurs aux champs du fichier de propriétés

public class User{
    privateProperties props ;
    publicProperties getProps() {
        returnprops;
    }
    publicvoid setProps(Properties props) {
        this.props= props;
    }
}
Copier après la connexion
<bean>
    <propertyname="props">
        <props>
           <propkey="url">jdbc:oracle:thin:@localhost:orl</prop>
           <propkey="driverName">oracle.jdbc.driver.OracleDriver</prop>
           <propkey="username">scott</prop>
           <propkey="password">tiger</prop>
        </props>
    </property>
</bean>
Copier après la connexion

La valeur clé dans la balise est le nom dans le fichier de propriétés .properties

Remarque :
Quelle que soit la valeur attribuée, le nom La valeur de l'attribut de la balise dans le fichier de configuration doit être et Les noms des objets sont cohérents.


2 Injection de constructeur
1) Le constructeur a un paramètre

public class User{
    privateString usercode;
    publicUser(String usercode) {
        this.usercode=usercode;
    }
}
Copier après la connexion
<bean id="userAction"class="com.lsz.spring.action.User">                        
    <constructor-argvalue="admin"></constructor-arg>                        
</bean>
Copier après la connexion

2) Quand le constructeur a deux paramètres
Quand le paramètre n'est pas Lors de l'utilisation du type chaîne, le type doit être spécifié dans le fichier de configuration. Si le type n'est pas spécifié, la valeur sera attribuée en fonction du type de chaîne.
Lorsque les types de paramètres sont incohérents, le framework recherche en fonction du type de chaîne, donc l'emplacement du paramètre doit être spécifié dans le fichier de configuration

<constructor-argvalue="admin"index="0"></constructor-arg>                
<constructor-argvalue="23" type="int"index="1"></constructor-arg>
Copier après la connexion

Ceci est spécifié dans le constructeur, first Le premier paramètre est de type string et le deuxième paramètre est de type int


Ce qui précède est le contenu de l'injection de dépendances Spring Framework Learning (2) Pour plus d'informations. contenu, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Utilisez Spring Boot et Spring AI pour créer des applications d'intelligence artificielle générative Utilisez Spring Boot et Spring AI pour créer des applications d'intelligence artificielle générative Apr 28, 2024 am 11:46 AM

En tant que leader du secteur, Spring+AI fournit des solutions de pointe pour divers secteurs grâce à son API puissante et flexible et ses fonctions avancées. Dans cette rubrique, nous examinerons les exemples d'application de Spring+AI dans divers domaines. Chaque cas montrera comment Spring+AI répond à des besoins spécifiques, atteint ses objectifs et étend ces LEÇONS APPRISES à une gamme plus large d'applications. J'espère que ce sujet pourra vous inciter à comprendre et à utiliser plus profondément les possibilités infinies de Spring+AI. Le framework Spring a une histoire de plus de 20 ans dans le domaine du développement logiciel, et cela fait 10 ans que la version Spring Boot 1.0 est sortie. Maintenant, personne ne peut contester ce printemps

Modifier RequestBody dans la passerelle Spring Modifier RequestBody dans la passerelle Spring Feb 09, 2024 pm 07:15 PM

Je souhaite modifier le corps de la requête avant de l'acheminer vers l'URI donné. Modifiez le corps en fonction de la documentation que j'utilise org.springframework.cloud.gateway.filter.factory.rewrite.modifyrequestbodygatewayfilterfactory. Lors du démarrage de mon serveur, le serveur ne démarre pas avec la raison d'erreur suivante : L'élément [spring.cloud.gateway.routes[0].filters[0].modifyrequestbody.class] n'est pas lié. \n\nOpération :\

Un guide étape par étape pour comprendre l'injection de dépendances dans Angular Un guide étape par étape pour comprendre l'injection de dépendances dans Angular Dec 02, 2022 pm 09:14 PM

Cet article vous guidera à travers l'injection de dépendances, présentera les problèmes que l'injection de dépendances résout et sa méthode d'écriture native, et parlera du framework d'injection de dépendances d'Angular. J'espère qu'il vous sera utile !

Comment utiliser l'injection de dépendances (Dependency Injection) dans le framework Phalcon Comment utiliser l'injection de dépendances (Dependency Injection) dans le framework Phalcon Jul 30, 2023 pm 09:03 PM

Introduction à la méthode d'utilisation de l'injection de dépendances (DependencyInjection) dans le framework Phalcon : Dans le développement logiciel moderne, l'injection de dépendances (DependencyInjection) est un modèle de conception courant visant à améliorer la maintenabilité et la testabilité du code. En tant que framework PHP rapide et peu coûteux, le framework Phalcon prend également en charge l'utilisation de l'injection de dépendances pour gérer et organiser les dépendances des applications. Cet article vous présentera comment utiliser le framework Phalcon

JAX-RS contre Spring MVC : une bataille entre les géants RESTful JAX-RS contre Spring MVC : une bataille entre les géants RESTful Feb 29, 2024 pm 05:16 PM

Introduction Les API RESTful font désormais partie intégrante des applications WEB modernes. Ils fournissent une approche standardisée pour créer et utiliser des services Web, améliorant ainsi la portabilité, l'évolutivité et la facilité d'utilisation. Dans l'écosystème Java, JAX-RS et springmvc sont les deux frameworks les plus populaires pour créer des API RESTful. Cet article examinera en profondeur les deux frameworks, en comparant leurs fonctionnalités, avantages et inconvénients pour vous aider à prendre une décision éclairée. JAX-RS : JAX-RSAPI JAX-RS (JavaAPI pour RESTful Web Services) est un standard JAX-RSAPI développé par JavaEE pour le développement de REST.

Compréhension approfondie de l'architecture et des principes de fonctionnement du framework Spring Compréhension approfondie de l'architecture et des principes de fonctionnement du framework Spring Jan 24, 2024 am 09:41 AM

Une analyse approfondie de l'architecture et des principes de fonctionnement du framework Spring Introduction : Spring est l'un des frameworks open source les plus populaires de l'écosystème Java. Il fournit non seulement un ensemble puissant de fonctions de gestion de conteneurs et d'injection de dépendances, mais fournit également. de nombreuses autres fonctions, telles que la gestion des transactions, l'AOP, l'accès aux données, etc. Cet article fournira une analyse approfondie de l'architecture et des principes de fonctionnement du framework Spring, et expliquera les concepts associés à travers des exemples de code spécifiques. 1. Concepts de base du framework Spring 1.1IoC (Inversion of Control) Core of Spring

Optimisation de la journalisation du programme : partage de conseils sur la définition des niveaux de journalisation log4j Optimisation de la journalisation du programme : partage de conseils sur la définition des niveaux de journalisation log4j Feb 20, 2024 pm 02:27 PM

Optimisation de la journalisation du programme : Conseils pour définir les niveaux de journalisation log4j Résumé : La journalisation du programme joue un rôle clé dans le dépannage, le réglage des performances et la surveillance du système. Cet article partagera des conseils sur la configuration des niveaux de journalisation log4j, notamment sur la manière de définir différents niveaux de journaux et sur la manière d'illustrer le processus de configuration à l'aide d'exemples de code. Introduction : Dans le développement de logiciels, la journalisation est une tâche très importante. En enregistrant les informations clés pendant le processus d'exécution du programme, il peut aider les développeurs à découvrir la cause du problème et à effectuer l'optimisation des performances et la surveillance du système.

Le secret de l'intégration Java JNDI et Spring : révéler la coopération transparente de Java JNDI et Spring Framework Le secret de l'intégration Java JNDI et Spring : révéler la coopération transparente de Java JNDI et Spring Framework Feb 25, 2024 pm 01:10 PM

Avantages de l'intégration de JavaJNDI avec Spring L'intégration de JavaJNDI avec le framework Spring présente de nombreux avantages, notamment : Simplification de l'utilisation de JNDI : Spring fournit une couche d'abstraction qui simplifie l'utilisation de JNDI sans écrire de code JNDI complexe. Gestion centralisée des ressources JNDI : Spring peut gérer de manière centralisée les ressources JNDI pour faciliter la recherche et la gestion. Prise en charge de plusieurs implémentations JNDI : Spring prend en charge plusieurs implémentations JNDI, notamment JNDI, JNP, RMI, etc. Intégrez de manière transparente le framework Spring : Spring est très étroitement intégré à JNDI et s'intègre de manière transparente au framework Spring. Comment intégrer JavaJNDI au framework Spring pour intégrer Ja

See all articles