Ce que j'essaie d'accomplir consiste à injecter un objet de dépôt printanier du contexte à n'importe quel modèle. Il est déjà possible d'appeler n'importe quelle méthode de n'importe où, y compris les modèles, mais "toute méthode" doit être définie comme statique, dans ce cas, à partir du modèle que nous pouvons appeler @ Class.staticMethod(). Je veux faire la même chose mais j'ai besoin de récupérer la "Classe" du contexte de printempsPlayFramework comment injecter un objet à un modèle
0
A
Répondre
0
Fondamentalement, tout ce dont vous avez besoin est un localisateur de service avec une méthode statique qui vous permettra de récupérer le bean à partir d'un contexte Spring. Il existe plusieurs façons d'accéder à un contexte Spring à partir d'une méthode statique. Ci-dessous je présente l'un d'entre eux.
@Service
public class ServiceLocator {
@Autowired
private static ApplicationContext appContext;
@Autowired
public ServiceLocator(ApplicationContext appContext) {
ServiceLocator.appContext = appContext;
}
public static <T> T getClassFromSpringContainer(Class<T> clazz) {
return appContext.getBean(clazz);
}
}
Dans une vue, vous pouvez importer cette classe et récupérer n'importe quel bean de votre choix.
@import models.ServiceLocator
@import models.SampleService
@ServiceLocator.getClassFromSpringContainer(classOf[SampleService]).sampleMethod()
Questions connexes
- 1. Appel distant à un objet PlayFramework
- 2. Dans PlayFramework avec Morphia, comment mettre à jour un objet?
- 3. Comment injecter un objet à sérialiser dans un fichier?
- 4. Injecter des membres de données à un objet
- 5. Comment injecter une fonction à un objet existant?
- 6. Injecter des critères dans un objet sfPropelRoute
- 7. Comment injecter un objet dans un module Ninject
- 8. Instancier un objet modèle dans un modèle
- 9. Comment incorporer un objet modèle dans une autre objet modèle
- 10. Injecter un objet externe dans un haricot de printemps
- 11. Construire un objet à la volée et injecter une variable
- 12. In Dependency Injection où est créé un objet à injecter?
- 13. Comment passer un objet Mongo Cursor à un modèle Jinja?
- 14. Comment injecter un objet Session/Utilisateur après l'amorçage?
- 15. Injecter un objet dans un WCF personnalisé UserNamePassValidator - Autofac
- 16. Injecter une variable JS dans un modèle haml
- 17. Playframework: Comment exécuter un script d'évolutions
- 18. Comment mettre à jour un objet existant dans playframework 2.0.2? aka CRUD in 1.2.x
- 19. Comment appliquer un filtre global dans playframework
- 20. conversion implicite à un objet C++ modèle
- 21. Comment injecter un proxy dans un service?
- 22. Comment créer un objet conteneur modèle
- 23. comment allumer un objet, modèle phong
- 24. Comment associer un contact à un objet
- 25. Comment récupérer le dernier objet créé dans playframework
- 26. Linq2XML Créer un objet Modèle
- 27. Injecter une dépendance à l'intérieur d'un objet
- 28. Comment passer un objet db et un objet de modèle à la fonction
- 29. Comment ajouter un objet java custom ou string à un objet modèle DAO lors de l'exécution?
- 30. Passage d'un objet utilisateur d'un modèle à un autre modèle
Je reçois toujours NullPointerException, car appContext est null. Avant cela, j'ai dû redéfinir getclassFromSpringContainer comme méthode statique, car "getClassFromSpringContainer n'est pas membre de l'objet ServiceLocator" – dwilda
Etes-vous sûr que votre ServiceLocator est géré par Spring? –
Non, ce n'était pas le cas. Merci de votre aide – dwilda