Spring uses Inversion of Control and Dependency Injection whereas JSF does not.
* Spring has built in modules for Login-Logout
available for ready integration whereas in JSF we have to write the login feature manually.
* Since Spring uses dependency injection the user based pojo classes can be injected with springs whereas JSF is tightly coupled with Java EE architecture
.