Spring framework is very popular in Java world for doing application development. It provides dependency injection and inversion of control and also provides several API like JdbcTemplate, JmsTemplate to make developer's work easier while working with JDK core libraries.