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) { ... }
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;
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!