Нужно знать Java SE + Servlet API (это уже из Java EE).
Spring дает все те же возможности (IoC и DI, транзакции и.д.) что и Java ЕЕ, только проще в использовании и не нужен сервер приложение (jboss, glassfish), достаточно tomcat или jetty.
Java EE это набор спецификаций и интерфейсов, который реализуют производители серверов приложений (jboss, glassfish). Spring - как простая альтернатива.