- Beans in Spring are objects that are managed by the Spring IoC container. They form the backbone of a Spring application. - Beans and their dependencies are configured in metadata that is used by the container to manage the complete lifecycle of a bean - instantiating, assembling, and configuring beans. - There are two main ways to configure beans - using XML configuration or using annotations in Java code. Common annotations used include @Component, @Controller, @Service and @Repository.