EJB 3.1 uses annotations to inject container managed objects and in a similar manner, Spring injects objects by looking against the Spring container. So the idea is more or less the same, the only difference is that EJB 3.1 defines a set of standards / specifications on how to develop enterprise components that can be deployed to any container that implements the EJB standards. On the other hand Spring is a lightweight alternative and dictates that you could achieve the same without the need for a hefty container.
So to answer your question, yes you could use Spring along with any Spring module instead of EJB 3.1.
All spring needs is a web server. You can build a spring based web app and deploy into tomcat
At my last job, I had introduced Spring to the company, and one of the main selling points was that it doesn't need a container. What we had was we had this huge background processing job that would run on the cloud. Most of the code executed in this background job. There was some of this code that was shared with the front end. Before I joined, they had started implementing everything as EJBs. To run the background job, they deployed jboss on all the machines in the cloud, and would bring them up to execute the background job. Jboss was basically a glorified main method that could call EJBs
So, when we started switching over to Spring we could have the same services run on tomcat/simple java application/Hadoop, blah blah. By going with EJBs you are kind of tying yourself to an app server... Which might be perfectly fine if you are completely in an SOA mindset. If you are thinking of doing something different, spring gives you more flexibility.