Je recherche une fonctionnalité Java similaire à .NET Managed Extensibility Framework (http://mef.codeplex.com/). Pour ceux qui ne connaissent pas MEF, je veux quelque chose comme ceci:charger dynamiquement l'implémentation de l'interface en Java
Compte tenu d'une interface
public interface IFoo {
...
}
charge une implémentation Dynamiquement d'une interface en regardant dans des bocaux chargés.
IFoo foo = loadClassThatImplementsInterface<IFoo>();
Le point est que le programmeur ne connaît pas le nom de la mise en œuvre à l'heure du code, mais fournit en code un point de extentsion.
Cela n'est-il pas possible du tout en Java? J'ai trouvé quelques résultats de Google indiquant que ce n'était pas possible, mais cela semble un peu ... hein?
Il existe de nombreux exemples d'utilisation d'un chargeur de classe lorsque le nom complet de l'implémentation est connu au moment de la compilation. Ce n'est pas ce que je veux.
Pour ce projet, je ne veux pas utiliser un cadre DI, donc je vais regarder dans ServiceLoader, merci –
Ok, n'oubliez pas d'accepter la réponse si c'est ce que vous cherchiez ;-) thx –
Found this après savoir ce qu'il faut rechercher: http://java.dzone.com/news/simple-dependency-injection-wi –