Spring @Component , anotaciones y jerarquía

Acabamos de ver como usar Java equals y hashcode

Spring @Component es una de las anotaciones fundamentales de Spring Framework a la hora de dar de alta los distintos beans con su motor de inyección de dependencia. ¿Para que sirve la anotación de @Component?.

Spring @Component

A nivel de Spring Framework esta anotación simplemente registra un bean dentro del framework sin mayor efecto . Es decir si disponemos de una clase como la siguiente:

@Component
public class MiComponente {
}

Spring la registrará dentro del framework y podremos hacer uso de ella sin problema.

Spring y Jerarquías

Ahora bien esta anotación es la anotación padre de todas las anotaciones especificas que el framework soporta a nivel de inyección de dependencia como son @Service @Repository y @Controller

@Repository : Esta anotación registra un componente a nivel del motor de inyección de dependencia y realiza la traducción automática de las excepciones que se produzcan de acceso a datos a la hora de que la clase acceda a cualquier repositorio de información:

@Repository
class PersonaRepository {
}

@Service : Es la anotación que más se parece a @Component ya que se encarga de registrar el Componente y permitir que se inyecten otras clases a él . Habitualmente un Servicio se relaciona con varios repositorios por composición:

@Service class Servicio {
@Autowired
PersonaRepository repositorioPersona;
@Autowired
FacturaRepository repositorioFactura;
}

Recordemos que la anotación @Autowired sirve para ligar los diferentes componentes entre ellos

@Controller : Esta anotación sirve para registrar los controladores que son los encargados de enlazarnos con la capa de presentación en el modelo MVC y de registrar las diferentes URLS a las que el componente responde a través de los diferentes @RequestMappings.

@RestController : En el caso de la anotación de @Controler existen otra anotación más especializada que es la de @RestController en el caso de que deseemos publicar servicios REST.

Acabamos de ver como usar Java equals y hashcode

Otros artículos relacionados