Vous voudrez peut-être inclure le Printemps dans votre liste d'Injection de Dépendance des cadres que vous envisagez. Voici quelques réponses à vos questions:
Attelage pour le cadre
Pico - Pico tend à décourager l'injection par mutateur mais autre que cela, les classes n'ont pas besoin de savoir à propos de Pico. C'est seulement le câblage qui a besoin de savoir (vrai pour tous les DI cadres).
Guice - Guice prend désormais en charge la norme JSR 330 annotations, de sorte que vous n'avez pas besoin de Guice des annotations spécifiques dans votre code plus. Le printemps prend également en charge ces annotations standard. L'argument que le Guice gars, c'est que sans un Guice processeur d'annotation en cours d'exécution, ceux-ci ne devraient pas avoir un impact si vous décidez d'utiliser un autre cadre.
Printemps - Printemps vise à vous permettre d'éviter toute mention du framework Spring dans votre code. Parce qu'ils ont beaucoup d'autres helpers / utilitaires etc. la tentation est très forte de dépendre de Printemps de code.
Performance
Pico - je ne suis pas trop familier avec les caractéristiques de vitesse Pico
Guice - Guice a été conçu pour être rapide et la comparaison mentionné dans la référence de certains numéros. Certes, si la vitesse est une considération primordiale, soit à l'aide de Guice ou le filage à la main doit être considéré comme
Printemps - Printemps peut être lent. Il y a eu des travaux pour le rendre plus rapide et l'utilisation de la JavaConfig bibliothèque devrait accélérer les choses.
La facilité d'utilisation
Pico - Simple à configurer. Pico pouvez faire quelques autowire décisions pour vous. Pas évident de savoir comment elle s'adapte à de très grands projets.
Guice - Simple à configurer, il suffit d'ajouter des annotations et hériter de AbstractModule de lier les choses ensemble. Échelles pour les grands projets que la configuration est réduite à un minimum.
Printemps - Relativement facile à configurer, mais la plupart des exemples d'utilisation de Printemps XML comme la méthode de configuration. Le printemps des fichiers XML peuvent devenir très volumineux et complexes au fil du temps et de prendre du temps à charger. Envisager l'utilisation d'une combinaison de Printemps et de la main une manivelle d'Injection de Dépendance pour remédier à cela.
La Taille De La Collectivité
Pico - Petit
Guice - Moyen
Printemps - Grand
L'expérience
Pico - je n'ai pas eu beaucoup d'expérience avec Pico, mais il n'est pas largement utilisée cadre de sorte qu'il sera plus difficile de trouver des ressources.
Guice - Guice est un cadre populaire et son accent sur la vitesse est la bienvenue quand vous avez un grand projet que vous êtes en redémarrant beaucoup dans le développement. J'ai une préoccupation au sujet de la nature distribuée de la configuration c'est à dire qu'il n'est pas facile de voir comment notre application est mis en place. C'est un peu comme AOP à cet égard.
Printemps Printemps est généralement mon choix par défaut. Cela dit, le XML peut devenir lourd et le ralentissement gênant. Je finissent souvent à l'aide d'une combinaison de fabriqué à la main de l'Injection de Dépendance et de Printemps. Lorsque vous avez réellement besoin de XML en fonction de la configuration, le Printemps XML est assez bonne. Le printemps a également mis beaucoup d'effort dans d'autres cadres plus de l'Injection de Dépendances friendly qui peuvent être utiles parce qu'ils utilisent souvent les meilleures pratiques en faisant de la sorte (JMS, ORM, OXM, MVC, etc.).
Références