Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

311
Views
¿Por qué @Service en DAO?

Leí en línea, @Service es para la capa de servicio (lógica comercial), @Controller es para el punto final de la API y @Repository se usa para la capa de persistencia.

En mi empresa, la estructura del código es:

 Client -> Rest endpoint -> service -> DAO -> database

Lo que me confundió es que, en la capa DAO, se anota como @Service (en realidad, tanto el servicio como la capa DAO también se anotan como @Service )

¿Hay alguna razón por la que DAO anotó como @Service ? No pude preguntarle al programador porque está de baja.

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Con las anotaciones @Component, @Repository, @Service y @Controller en su lugar y después de habilitar el escaneo automático de componentes, Spring importará automáticamente los beans al contenedor para que no tenga que definirlos explícitamente para autoconectarlos.

@Componente

La anotación @Component marca una clase Java como un bean para que el mecanismo de escaneo de componentes de Spring pueda recogerlo y colocarlo en el contexto de la aplicación. Para usar esta anotación, aplíquela sobre la clase como se muestra a continuación:

@Repositorio

Aunque el uso anterior de @Component es lo suficientemente bueno, puede usar una anotación más adecuada que brinde beneficios adicionales específicamente para DAO, es decir, la anotación @Repository. La anotación @Repository es una especialización de la anotación @Component con un uso y una funcionalidad similares. Además de importar los DAO al contenedor DI, también hace que las excepciones no verificadas (lanzadas desde los métodos DAO) sean elegibles para traducirse a Spring DataAccessException.

@Servicio

La anotación @Service también es una especialización de la anotación de componente. Actualmente no proporciona ningún comportamiento adicional sobre la anotación @Component, pero es una buena idea usar @Service sobre @Component en clases de capa de servicio porque especifica mejor la intención. Además, el soporte de herramientas y el comportamiento adicional podrían depender de él en el futuro.

@Controlador

La anotación @Controller marca una clase como un controlador Spring Web MVC. También es una especialización de @Component, por lo que los beans marcados con él se importan automáticamente al contenedor DI. Cuando agrega la anotación @Controller a una clase, puede usar otra anotación, es decir, @RequestMapping; para asignar direcciones URL a métodos de instancia de una clase.

En su escenario, no tiene impacto en el flujo de la aplicación si usa @Service o @Repository, la aplicación funcionará ya que son elegibles para el cableado automático. Pero la práctica estándar es usar @Repository para las clases de dao.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!