Allora: se vuoi utilizzare un meccanismo di Dependency Injection senza usare Spring, altre possibilità sì, ci sono.
Puoi usare un application server completo (non solo un Servlet container) tipo GlassFish, JBoss, ecc... che mette già a disposizione il CDI più ovviamente tutto il resto di Java EE.
Oppure con solo un Servlet container (es. Tomcat, Jetty) puoi integrare tu manualmente nella webapp il Weld che è la implementazione di "riferimento" del CDI. So che si può fare ma personalmente non l'ho mai fatto.
Oppure puoi sfruttare il HK2 che è insieme a Jersey, che è un'altra forma di DI ma è più limitata e non c'entra niente né con Spring e nemmeno con il CDI.