Comment obtenir la valeur de la propriété à l'intérieur d'un printemps haricot de classe dans ma classe ?
Choses que je n'ai sont:
- Créé un fichier de propriétés (de données.les propriétés).
- Créé un Spring.xml (j'utilise la propriété de l'espace réservé)
- Créé une classe d'haricot.
- J'ai une classe où je dois utiliser l'url valeur.
- J'ai un web.xml qui a context-param où j'ai mis le param valeur du chemin d'accès de l'Spring.xml fichier.
- Mes codes sont donnés ci-dessous:
Propertyfile:url=sampleurl
Spring.xml:
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath*:data.properties*"/>
</bean>
<bean id="dataSource" class="org.tempuri.DataBeanClass">
<property name="url" value="${url}"></property>
</bean>
beanclass
public class DataBeanClass extends PropertyPlaceholderConfigurer{
private String url;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
entrée dans web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:Spring*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Maintenant mon problème est que je ne sais pas quelle est la méthode de PropertyPlaceholderConfigurer dois-je remplacer et que dois-je faire pour régler la valeur de la variable d'url tel que je peux l'appeler à partir d'autres classes, en utilisant la méthode getproperty ().
Je ne comprends pas votre problème.
Le problème, c'est qu'on m'a dit que mon haricot classe doit étendre la classe et je doit remplacer l'un de ses méthodes afin que je puisse utiliser les valeurs de propriété dans certains autres de la classe. Je suppose que la classe à être étendu est PropertyPlaceholderConfigurer. Je ne suis pas sûr à 100%.
depuis votre "url" la valeur est déjà présente dans le fichier de propriétés, je pense que vous voulez utiliser cette propriété dans de multiples types de haricots.
Comment êtes-vous de la création de l'objet d'haricot? est-il créé à partir du Printemps ApplicationContext ou êtes-vous de la créer à l'aide de "nouveau"
Vous pouvez toujours utiliser
Le problème, c'est qu'on m'a dit que mon haricot classe doit étendre la classe et je doit remplacer l'un de ses méthodes afin que je puisse utiliser les valeurs de propriété dans certains autres de la classe. Je suppose que la classe à être étendu est PropertyPlaceholderConfigurer. Je ne suis pas sûr à 100%.
depuis votre "url" la valeur est déjà présente dans le fichier de propriétés, je pense que vous voulez utiliser cette propriété dans de multiples types de haricots.
Comment êtes-vous de la création de l'objet d'haricot? est-il créé à partir du Printemps ApplicationContext ou êtes-vous de la créer à l'aide de "nouveau"
Vous pouvez toujours utiliser
context = ContextLoader.getCurrentWebApplicationContext();
ainsi de charger le même contexte créé au cours de la initilization de conteneur.OriginalL'auteur antony.ouseph.k | 2013-11-14
Vous devez vous connecter pour publier un commentaire.
Vous pouvez annoter vos haricots bien comme cela, alors que le printemps sera auto injecter de la propriété à partir de votre fichier de propriétés.
Vous n'avez pas à étendre PropertyPlaceholderConfigurer
De la définition de votre bean comme ce sera de l'auto de renseigner l'url, mais annotation semble être la façon la plus simple
OriginalL'auteur ssk
Veuillez suivre les étapes suivantes pour obtenir la propriété de la valeur du fichier dans la classe.
Définir le haricot pour propriété de fichier dans votre spring.xml
<util:properties id="dataProperties" location="classpath:/data.properties"/>
garder vos données.propriétés sous src/main/resources.
Utiliser le code suivant pour obtenir la valeur de la propriété de fichier pour l'e.g pour obtenir la valeur de la clé url dans les données.propriétés
private @Value("#{dataProperties['url']})
String url;
OriginalL'auteur shrey
Des fichiers de propriétés qui peut être accessible depuis le Printemps via l'espace de noms de l'élément dans Spring.xml
Et puis vous pouvez l'utiliser comme
Remarque:
à l'aide de
<property-placeholder>
ne les expose pas les propriétés pour le Printemps de l'Environnement, ce qui signifie que la récupération de la valeur comme cela ne fonctionne pas – il sera de retour nullOriginalL'auteur Sandhu Santhakumar