How Spring does Inversion of Control ?

  • Write a configuration file in which you name concrete "beans" for the interfaces between your layers.
  • "Wire" the application together by stating which beans are dependent on each other.
  • Instantiate a Spring object called an ApplicationContext. This is a type of bean factory that will instantiate all your other beans and handle dependency injection.

What else has Spring got?

Spring provides either implementations or fully-factored API wrappers over these technologies:
  • JDBC and DAOs
  • ORM: Hibernate, iBatis, TopLink and others
  • Declarative Transaction Support (without a full J2EE app server)
  • Aspect-Oriented Programming
  • Remote calls and Web Services (Axis)
  • EJBs