lightweight container, can deployed on tomcat or jetty there is no need to powerfull AS
can deploy it cros platform today on tomcat tomorrow on jboss with no dependance on AS
have alot of APIs helpfull on most domains of programing for ex. spring MVC, integration, DATA,...
configuration can be in3 ways xml, @nnotation, or java config
Cons:
you have to add its jars to WAR file "then WAR file become very large" or in shared lib and it container will take time to load it at begin "but this point covered by the lightweight container of spring"
not java standard, it is not based on JEE, while it is working with JEE in match
not common to use EJBs with Spring so will find Spring provide alternatives like REST and spring http invoker
sometimes you find difficulty in getting knowledge of Spring