Spring allows you to do two things: Autowiring of beans Autodiscovery of beans 1. Autowiring Usually in applicationContext.xml you define beans and other beans are wired using constructor or setter methods. You can wire beans using XML or annotations. In case you use annotations, you need to activate annotations and you have to add <context:annotation-config /> in applicationContext.xml . This will simplify the structure of the tag from applicationContext.xml , because you will not have to manually wire beans (constructor or setter). You can use @Autowire annotation and the beans will be wired by type. A step forward for escaping the manual XML configuration is 2. Autodiscovery Autodiscovery is simplifying the XML one step further, in the sense that you don't even need too add the <bean> tag in applicationContext.xml . You just mark the specific beans with one of the following annotation and Spring will ...