Pregunta

Estoy aprendiendo Java durante 3 meses ya veces No puedo entender el propósito de uso de algo.

era un tema de inyección de dependencia y el frijol de primavera me di cuenta de los finalmente =)

Ahora i confundirse con las dos anotaciones @Autowired y @Repository. En primer lugar ¿Qué significa Autowiring? luego ¿Por qué debo usarlos y cuál es la diferencia entre su uso y no usar?

También hoy he tratado de usar la hibernación en un proyecto de MVC primavera y tuve que buscar alrededor del 15 (la causa de la clase no errores encontrados) archivos jar en el resultado de las dependencias de otros archivos JAR utilizados en el proyecto. es que esto tenía que ser de esta manera? Este aprendizaje java muy difícil para los principiantes marcas

Gracias ...

¿Fue útil?

Solución

@Repository es una anotación que marca la clase específica como un objeto de datos Access, aclarando así su papel. Otros marcadores de la misma categoría son @Service y @Controller

@Autowired es una anotación con un significado completamente diferente: básicamente le dice al contenedor de DI para inyectar una dependencia. Más información en http://apollo89.com/java/spring-framework-2.5.3/api/org/springframework/beans/factory/annotation/Autowired.html
Editar Más información en tutorialpoint
o docs. spring.io

Otros consejos

Tanto las anotaciones tienen propósitos diferentes para ser utilizados.

@Autowired : Este es el mismo que <bean="xyz" autowire="byType"> se define en el archivo de configuración. La variable de referencia (dependencia) que se anota con @Autowired, se inyectará por contenedor de primavera como cualquier juego @Bean encontró en la clase @Configuration.
Además de las clases con anotada @Component, @Service, @Repository son también considerados como los frijoles por lo que sus objetos son inyectadas en las dependencias correspondientes. contenedor de primavera escanea los granos en las clases que usted ha mencionado para el "componente de exploración" o @ComponentScan ( "XYZ").

@Repository : Esta es también una anotación de primavera-marco. Al anotar un @Repository clase, contenedor de primavera entiende que es una clase DAO y traduce todas las excepciones sin marcar (lanzada desde métodos DAO) en la primavera DataAccessException. DAO clase es la clase donde se escriben los métodos para llevar a cabo operaciones sobre db.

@Autowired y @Repository 2 son muy diferentes conceptos. 1. @ Repositorio: Esto define una clase para ser un depósito, en término general que se puede utilizar simplemente @Component sino definir específicamente, hay 3 anotaciones más como controlador, servicio y repository.Mainly 2 ventajas: 1.Si ha definido (contexto: componente de exploración) en servlet.xml para escanear el paquete definido y encontrar su propia para la primavera. 2. Más ventajas que obtiene de primavera como traducción error de acceso a la base de datos, por lo que se define principalmente al uso con clase en la que se va a conectar con la base de datos, ya sea con hibernación o JDBC.

@Autowired: para inyectar dependencia en tiempo de ejecución por el resorte, medios en una clase, Autowire un objeto, y lo utilizan, por lo que automáticamente se hizo esta frijol sin definir en el archivo XML

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top