Rod Johnson created the Spring framework in 2002 to simplify enterprise Java development. Major versions included support for annotations in Spring 2.5 in 2007 and Java configuration in Spring 3.2 in 2012. The Spring framework uses beans and initialization processes like defining bean properties with XML or annotations. It supports features such as proxies, bean definition metadata, bean factories, and bean post processors to manage the lifecycle and configuration of beans.