Maison >Java >javaDidacticiel >Comment puis-je injecter des propriétés dans des beans Spring configurés avec des annotations ?

Comment puis-je injecter des propriétés dans des beans Spring configurés avec des annotations ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-10 14:39:02989parcourir

How can I inject properties into Spring beans configured with annotations?

Injection de propriétés dans un bean Spring configuré avec des annotations

Pour injecter des propriétés dans un bean Spring configuré à l'aide d'annotations, vous pouvez tirer parti de la prise en charge EL dans Spring 3. Prenons l'exemple suivant :

@Repository("personDao")
public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao {

    @Value("#{systemProperties.databaseName}")
    public void setDatabaseName(String dbName) { ... }
}

Dans cet exemple, systemProperties est un objet implicite qui donne accès aux propriétés système, vous permettant d'injecter la propriété databaseName dans votre bean PersonDaoImpl.

De même, vous pouvez référencer une autre propriété du bean en utilisant EL :

@Value("#{strategyBean.databaseKeyGenerator}")
public void setKeyGenerator(KeyGenerator kg) { ... }

Où strategyBean est le nom du bean cible.

Pour l'injection de propriété à partir d'un objet Properties :

@Value("#{myProperties['github.oauth.clientId']}")
private String githubOauthClientId;

Ici, myProperties est un bean qui expose un objet Properties. Vous pouvez accéder directement aux propriétés en utilisant EL dans une définition de champ.

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!

Déclaration:
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