J'essaye de tester la fonctionnalité d'injection de dépendances de ressort mais je rencontre des problèmes lorsque j'essaie de récupérer la valeur d'une variable d'instance en utilisant les méthodes getter de la classe Spring Bean. Obtention de la valeur nulle d'une variable d'instance précédemment définie.La méthode Getter rétablit la valeur NULL dans le ressort DI
Ma principale classe
public class Main {
public static void main(String ... args) {
ApplicationContext context = new ClassPathXmlApplicationContext("BeanFactory.xml");
IBackup dataWriterObj = (IBackup) context.getBean("writeBackupHDFS");
backup backup = new backup();
backup.setNickName("Abbey");
String result = dataWriterObj.read("Ankur", "Bahre");
System.out.println(result);
}
}
Bean classe
public class backup implements IBackup {
private String nickName;
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String read(String firstName, String lastName) {
String Name = "My Name is " + firstName + " " + lastName + " and my nickName is " + getNickName();
return Name;
}
}
Interface
public interface IBackup {
public String read(String firstName, String lastName);
}
BeanFactory.xml
<bean id="writeBackupHDFS" class="test.backup"/>
Output- escomptés My Name is Ankur Bahre and my nickName is Abbey
Actual Output- My Name is Ankur Bahre and my nickName is null
Quelqu'un peut-il suggérer c'est-ce que je suis absent?
Merci
Je ne peux pas le faire comme dataWriterObj ne peut être utilisé pour les méthodes définies dans l'interface. Et je ne veux pas ajouter de méthodes setter et getter dans l'interface. –
@AnkurBahre J'ai mis à jour la réponse avec l'implémentation DI. S'il vous plaît vérifier une fois – Sam
La solution ci-dessus a fonctionné. Merci beaucoup –