Spring es uno de los marcos Java EE más populares. Es un marco ligero de código abierto que permite a los desarrolladores de Java EE 7 crear aplicaciones empresariales sencillas, fiables y escalables. Este marco se centra principalmente en proporcionar varias formas de ayudarlo a administrar sus objetos comerciales. Hizo que el desarrollo de aplicaciones web fuera mucho más fácil en comparación con los marcos Java clásicos y las interfaces de programación de aplicaciones (API), como la conectividad de base de datos Java (JDBC), JavaServer Pages (JSP) y Java Servlet. Este marco utiliza varias técnicas nuevas, como la programación orientada a aspectos (AOP), el objeto Java antiguo simple (POJO) y la inyección de dependencia (DI), para desarrollar aplicaciones empresariales. Ahora hablando de Spring Annotation
Las anotaciones de Spring son una forma de metadatos que proporcionan datos sobre un programa. Las anotaciones se utilizan para proporcionar información complementaria sobre un programa. No tiene un efecto directo sobre el funcionamiento del código que anotan. No cambia la acción del programa compilado.
Hay muchas anotaciones disponibles en Spring Framework. Algunas de las anotaciones de Spring Framework se enumeran a continuación, donde aquí vamos a discutir una de las anotaciones más importantes que es la anotación @Repository
- @Requerido
- @autocableado
- @Configuración
- @ComponentScan
- @Frijol
- @Componente
- @Controlador
- @Servicio
- @Repositorio, etc
@Anotación del repositorio
La anotación @Repository es una especialización de la anotación @Component que se utiliza para indicar que la clase proporciona el mecanismo para la operación de almacenamiento, recuperación, actualización, eliminación y búsqueda en objetos. Aunque es una especialización de la anotación @Component, Spring Framework detecta automáticamente las clases de Spring Repository a través del escaneo de classpath. Esta anotación es una anotación de estereotipo de propósito general que se parece mucho al patrón DAO donde las clases DAO son responsables de proporcionar operaciones CRUD en las tablas de la base de datos.
Ejemplo
Paso 1: cree un proyecto Spring Boot simple
Consulte este artículo Crear y configurar Spring Boot Project en Eclipse IDE y cree un proyecto Spring Boot simple.
Paso 2: agregue la dependencia del contexto de resorte en su archivo pom.xml . Vaya al archivo pom.xml dentro de su proyecto y agregue la siguiente dependencia de contexto primaveral.
XML
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.13</version> </dependency>
Paso 3: en su proyecto, cree dos paquetes y nombre el paquete como «entidad» y «repositorio». En la entidad, el paquete crea un nombre de clase como Estudiante. En el repositorio, el paquete crea una interfaz genérica llamada DemoRepository y una clase con el nombre StudentRepository. Esta será la estructura final de nuestro proyecto.
Paso 4: Cree una clase de entidad para la cual implementaremos un repositorio de primavera. Aquí nuestra clase de entidad es Estudiante. A continuación se muestra el código para el archivo Student.java . Esta es una clase POJO (Plain Old Java Object) simple en java.
Java
package com.example.demo.entity; public class Student { private Long id; private String name; private int age; public Student(Long id, String name, int age) { this.id = id; this.name = name; this.age = age; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + '}'; } }
Paso 5: antes de implementar la clase de repositorio, hemos creado una interfaz genérica de DemoRepository para proporcionar el contrato para que nuestra clase de repositorio la implemente. A continuación se muestra el código para el archivo DemoRepository.java .
Java
// Java Program to illustrate DemoRepository File package com.example.demo.repository; public interface DemoRepository<T> { // Save method public void save(T t); // Find a student by its id public T findStudentById(Long id); }
Paso 6: Ahora veamos la implementación de nuestra clase StudentRepository.
Java
// Java Program to illustrate StudentRepository File package com.example.demo.repository; import com.example.demo.entity.Student; import org.springframework.stereotype.Repository; import java.util.HashMap; import java.util.Map; @Repository public class StudentRepository implements DemoRepository<Student> { // Using an in-memory Map // to store the object data private Map<Long, Student> repository; public StudentRepository() { this.repository = new HashMap<>(); } // Implementation for save method @Override public void save(Student student) { repository.put(student.getId(), student); } // Implementation for findStudentById method @Override public Student findStudentById(Long id) { return repository.get(id); } }
En este archivo StudentRepository.java , puede notar que hemos agregado la anotación @Repository para indicar que la clase proporciona el mecanismo para la operación de almacenamiento, recuperación, actualización, eliminación y búsqueda en objetos.
Nota : aquí hemos utilizado un mapa en memoria para almacenar los datos del objeto, también puede utilizar cualquier otro mecanismo. En el mundo real, usamos bases de datos para almacenar datos de objetos.
Paso 7: prueba de repositorio de Spring
Ahora que nuestro Repositorio de Spring está listo, vamos a probarlo. Vaya al archivo DemoApplication.java y consulte el siguiente código.
Java
package com.example.demo; import com.example.demo.entity.Student; import com.example.demo.repository.StudentRepository; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.AnnotationConfigApplicationContext; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); context.scan("com.example.demo"); context.refresh(); StudentRepository repository = context.getBean(StudentRepository.class); // testing the store method repository.save(new Student(1L, "Anshul", 25)); repository.save(new Student(2L, "Mayank", 23)); // testing the retrieve method Student student = repository.findStudentById(1L); System.out.println(student); // close the spring context context.close(); } }
Salida: por último, ejecute su aplicación y debería obtener la siguiente salida como se muestra a continuación:
Publicación traducida automáticamente
Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA