Je vois beaucoup d'exemples Java en utilisant l'injection de dépendance avec des champs privés sans setter public comme ceci:Injecter dans un domaine privé, paquet ou public ou fournir un setter?
public SomeClass {
@Inject
private SomeResource resource;
}
Mais c'est une mauvaise idée quand l'injection doit être effectuée manuellement par exemple dans les tests unitaires.
Il existe plusieurs possibilités pour résoudre ce:
- ajouter un setter public:
setSomeResource(SomeResource r)
- rendre le champ public
- faire le paquet de champ protégé
Je voudrais évitez le setter, puisque rien ne s'y passe vraiment. Donc je préfère public ou paquet protégé. Que recommandez-vous?
http://stackoverflow.com/q/20270391/975169 injection automatique avec Mockito – Sllouyssgort