To tell Spring that, this Bean is to be managed by the container.
The objects that form the backbone of your application and that are managed by the Spring IoC* container are called beans. A bean is an object that is instantiated, assembled, and otherwise managed by a Spring IoC container. These beans are created with the configuration metadata that you supply to the container, for example, in the form of XML definitions.
More to learn about beans from SpringSource:
When you create a bean definition what you are actually creating is a recipe for creating actual instances of the class defined by that bean definition. The idea that a bean definition is a recipe is important, because it means that, just like a class, you can potentially have many object instances created from a single recipe.
You can control not only the various dependencies and configuration values that are to be plugged into an object that is created from a particular bean definition, but also the scope of the objects created from a particular bean definition. This approach is very powerful and gives you the flexibility to choose the scope of the objects you create through configuration instead of having to 'bake in' the scope of an object at the Java class level. Beans can be defined to be deployed in one of a number of scopes
> The objects that form the backbone of your application and that are
> managed by the Spring IoC* container are called beans. A bean is an
> object that is instantiated, assembled, and otherwise managed by a
> Spring IoC container. These beans are created with the configuration
> metadata that you supply to the container, for example, in the form of
> XML <bean/> definitions.
More to learn about beans and scope from [SpringSource][1]:
> When you create a bean definition what you are actually creating is a
> recipe for creating actual instances of the class defined by that bean
> definition. The idea that a bean definition is a recipe is important,
> because it means that, just like a class, you can potentially have
> many object instances created from a single recipe.
>
> You can control not only the various dependencies and configuration
> values that are to be plugged into an object that is created from a
> particular bean definition, but also the scope of the objects created
> from a particular bean definition. This approach is very powerful and
> gives you the flexibility to choose the scope of the objects you
> create through configuration instead of having to 'bake in' the scope
> of an object at the Java class level. Beans can be defined to be
> deployed in one of a number of scopes
*IoC: Inversion of Control
[1]: http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch04s04.html