Sono combattuto tra l'utilizzo di DI e le classi di utilità statiche sul mio codice.
Attualmente ho creato una classe statica DateUtil che deve essere acceduta solo in modo statico. Questa classe è responsabile della sola creazione e manipolazione delle date utilizzando una varietà di librerie con assolutamente nessuna dipendenza esterna di terze parti.
Tutto sembra a posto, ma ora il testing delle unità diventa più complicato, poiché ora dobbiamo usare PowerMockito per stubare correttamente il comportamento della classe statica.
Al contrario, se avessi rimosso l'staticità di DateUtil e convertito in Spring @Component, ora i test unitari possono essere un po 'più semplici, tuttavia, ora abbiamo tutte queste dipendenze ovunque e non lo sono certo che questo è lo scopo dei fagioli gestiti da Spring.
Come dovrei procedere con questo? Va bene usare i bean Spring ovunque e dimenticarsi del tutto del codice statico? Va bene abusare delle capacità DI di Spring? Quando è "troppo DI"?