Upon further reading, I realised that you were talking about Automatic DI. I have adapted my program to do as such. Yes, the code looks cleaner, because I no longer have to do getInstance(), it's automatically populated. Out of curiosity, what are the performance sacrifies with Automatic D.I as opposed to do it the convential way using Java? Would you still recommend this approach for an application that has millions of hits per second?