Bonjour,
En tant que débutant dans l'environnement Spring, je cherche à comprendre les outils fournis par ce framework afin de les utiliser à bon escient. Je n'arrive toujours pas à comprendre pourquoi on utilise @Bean plutôt que @Component !
@Component semble bien plus simple à mettre en oeuvre que @Bean !
J'ai fait un test avec le code suivant et je ne vois pas la différence de résultat :
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 public class MyBean { public MyBean(){} public String hello(){ return "Hello I am MyBean"; } } @Component public class MyComponent { public MyComponent(){} public String hello(){ return "Hello I am MyComponent"; } } @Service public class MyService { @Autowired MyBean myBean; @Autowired MyComponent myComponent; public String helloMyComponent(){ return myComponent.hello(); } public String helloMyBean(){ return myBean.hello(); } } @Configuration public class MyConfiguration { @Bean public MyBean getMyBean(){ return new MyBean(); } } @RestController @RequestMapping("/test") public class MyController { @Autowired MyService myService; @GetMapping("/bean") public String getHelloBean(){ return myService.helloMyBean(); } @GetMapping("/compo") public String getHelloCompo(){ return myService.helloMyComponent(); } }
Partager