Maison > Java > javaDidacticiel > le corps du texte

Comment injecter des propriétés dans des Spring Beans annotés avec @Repository ?

Barbara Streisand
Libérer: 2024-11-09 09:50:02
original
244 Les gens l'ont consulté

How to Inject Properties into Spring Beans Annotated with @Repository?

Injecter des propriétés dans des beans Spring via des annotations

Lorsque vous traitez des beans Spring détectés via des annotations, l'injection de valeurs de propriété à partir de sources externes peut être un défi. Cet article explore une solution à ce problème en utilisant la prise en charge d'EL dans Spring 3.

Le problème initial est survenu en raison de l'annotation des beans avec @Repository, éliminant ainsi la possibilité de les configurer explicitement dans le fichier XML Spring. Cependant, pour injecter une valeur de propriété, une approche typique utilisant la configuration XML du bean ne serait pas réalisable.

La solution réside dans l'exploitation de l'annotation @Value dans Spring 3, qui permet aux développeurs d'injecter des valeurs de propriété directement dans les champs. ou des méthodes de définition. La syntaxe pour cela est la suivante :

@Value("#{systemProperties.databaseName}")
public void setDatabaseName(String dbName) { ... }
Copier après la connexion

L'objet systemProperties est un objet implicite et la propriété databaseName est accessible dans la méthode setter.

De plus, il est possible d'injecter des propriétés à partir de Objets de propriétés utilisant @Value :

@Value("#{myProperties['github.oauth.clientId']}")
private String githubOauthClientId;
Copier après la connexion

Cette méthode fournit un moyen flexible d'injecter des valeurs de propriétés externes dans les beans Spring. Pour des informations plus détaillées, reportez-vous à l'article de blog fourni dans la réponse originale.

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!

source: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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal