Bonjour,

Je débute avec Spring, pour le moment j'ai une classe Manager et une classe Plugin. Ma classe plugin utilise mon manager.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
@Component
public class MyPlugin {
 
    @Autowired
    @Qualifier("default")
    private IManager manager;
 
    public MyPlugin() {
    }
 
    public void sayHello() {
        this.manager.sayHello();
    }
 
    public IManager getManager() {
        return this.manager;
    }
 
    public void setManager(final IManager manager) {
        this.manager = manager;
    }
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
@Service
@Qualifier("default")
public class MyManager implements IManager {
 
    public void sayHello() {
        System.out.println("Hello From MyManager !!!");
    }
}
Je configure Spring dans mon main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
public static void main(final String[] args) {
        final ApplicationContext context = new AnnotationConfigApplicationContext(MyApplication.class);
        final MyPlugin plugin = context.getBean(MyPlugin.class);
        plugin.sayHello();
}
La classe MyApplication ne fait rien de particulier.

Ce que je voudrais c'est trouver un moyen pour que dans un test par exemple, MyPlugin utilise une classe OtherManager:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
@Service
public class OtherManager implements IManager {
 
    public void sayHello() {
        System.out.println("Hello From OtherManager!!!");
    }
}
Je ne sais pas comment faire. Sans changer dans le code le :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
@Autowired
@Qualifier("default")
Merci d'avance pour votre aide,

Virginie