Bonjour,
Débutante avec Spring, je me lance dans une application de jeu type Cluedo, mon projet avance bien mais je n'arrive pas a savoir comment faire pour que la partie se relance avec de nouvelles valeurs dans mes beans?
Voila ma classe "random" avec mes beans:
Donc en début de partie, les randoms sont sélectionnés, ensuite les joueurs choisissent un lieu, un suspect et une arme (choix stockés dans un local storage), une fois tout trouvé on passe sur une page récap.
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 @Configuration public class RandomStart { @Autowired private PieceRepository pieceRepository ; @Autowired private SuspectRepository suspectRepository; @Autowired private ArmeRepository armeRepository; @Bean (name = "randomPiece") Piece randomPiece() { Piece randomPiece = pieceRepository.findRandomPiece(); //System.out.println(randomPiece); return randomPiece; } @Bean (name = "randomSuspect") Suspect randomSuspect() { Suspect randomSuspect = suspectRepository.findRandomSuspect(); //System.out.println(randomSuspect); return randomSuspect; } @Bean (name = "randomArme") Arme randomArme() { Arme randomArme = armeRepository.findRandomArme(); //System.out.println(randomArme); return randomArme; }
C'est a ce moment la que je bloque, en cliquant sur le bouton retour à l'accueil je vide mon local storage et j'aimerai réinitialiser les randoms pour une nouvelle partie. Mais comment procéder? J'ai lu pas mal de truc : creer un bean.xml, annotations, rajouter dans mon run "@Override
public void run(String... args) throws Exception "... et j'ai du mal a m'y retrouver.
J'arrive a récupérer mon random dans mon controller accueil via Application context et je me dit que c'est certainement a ce niveau qu'il faut ajouter une methode ou un appel mais je sèche:
Je ne demande pas forcement du code mais au moins une façon de procéder, parce que peut-être la façon dont j'ai fait mes randoms n'est pas approprié.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @Controller public class AccueilController { @Autowired private ApplicationContext appContext; @GetMapping("/") public String accueil() { Piece beanPiece = appContext.getBean("randomPiece",Piece.class); System.out.println(beanPiece); return "accueil"; }
Merci de votre aide.
Partager