I think you misunderstand one thing: What Spring against is EJB 2.1 and its perious version. Programming without EJB is also for EJB 2.1. In my opion, the pervious EJB is already dead. Look at the latest version of EJB, it changed so much that I just don't think it is a same product for the old EJB.
Also, look at what kind of techniques used in EJB 3:
Dependency Injection and AOP are similar with Spring
ORM is similar with JPA
I think in some level, it prove that we can really develop a program without using EJB 2.1 and its pervious version.