APLICACIONES WEB
ANOTACIONES SPRING BOOT
Machado Ambrocio Emmanuel Alexander
@RestController
@RestController es añadida a partir de Spring 4.0 esto mejora la creación de
RESTful web services y simplifica el uso de las anotaciones @Controller y
@ResponseBody.
@RequestMapping
se encarga de relacionar un método con una petición http. El uso de
anotaciones no implica que unicamente tengamos un único controlador sino
que nos permite agrupar un conjunto de urls que esten asociadas a nivel de
negocio en un controlador especifico.
@RestController
Cross-Origin Resource Sharing (CORS) es una especificación W3C
implementada por la mayoría de los navegadores, que le permite especificar
de manera flexible qué solicitudes de dominio cruzado están autorizadas, en
lugar de utilizar algunas estrategias menos seguras y menos potentes, como
IFRAME o JSONP .
@Autowired
Spring @Autowired es una de las anotaciones más habituales cuando
trabajamos con Spring Framework ya que se trata de la anotación que permite
inyectar unas dependencias con otras dentro de Spring
@GetMapping
Spring GetMapping es una anotación de Spring Framework que aparece con
Spring 4.3 y nos permite simplificar el manejo de los diferentes métodos de
Spring MVC y los @RequestMappings que a veces se hacen un poco
pesados.
@PostMapping :
Para procesar solicitudes de publicación, el RequestMapping tradicional debe
ser @RequestMapping (value = “/ get / {id}”, method = RequestMethod.POST)
El nuevo método se puede abreviar como:
@PostMapping("/get/{id}")
@PutMapping :
s equivalente a PostMapping, los cuales se utilizan para enviar información al
servidor. Si está agregando información, tiende a usar @PostMapping, y si
está actualizando información, tiende a usar @PutMapping. La diferencia
entre los dos no es muy obvia.
@DeleteMapping
Elimina la asignación de URL. No la he usado en la práctica. No sé qué es
bueno.
@Entity
Spring GetMapping es una anotación de Spring Framework que aparece con
Spring 4.3 y nos permite simplificar el manejo de los diferentes métodos de
Spring MVC y los @RequestMappings que a veces se hacen un poco
pesados.
@Id
Para determinar el ID de una entidad es tan simple como poner la anotación
@Id sobre la propiedad que sería el ID de la entidad.
@GeneratedValue
Usar la anotacion @GeneratedValue con JPA es algo bastante habitual ya que
existen muchas tablas cuyas claves primarias preferimos que sean
autoincrementales. Así pues solemos configurar las entidades de JPA para
que usen estas anotaciones.
@Column
La anotación @Column nos permitirá definir aspectos muy importantes sobre
las columnas de la base de datos de la base de datos como lo es el nombre, la
longitud, constrains, etc.
@Repository
El concepto de Repository como clase que se encarga de gestionar todas las
operaciones de persistencia contra una tabla de la base de datos es hace ya
mucho tiempo un clásico. La mayor parte de los lenguajes de programación
soportan el uso de clases Genéricas .
@Transactional
La anotación @transaccional es un metadato que especifica que una interfaz,
clase o método debe tener semántica transaccional.
@Service
Los componentes de servicio son el archivo de clase que contiene la anotación
@Service. Estos archivos de clase se utilizan para escribir la lógica
empresarial en una capa diferente, separada del archivo de clase
@RestController.
@OneToOne
JPA @OneToOne , en muchas ocasiones nos encontramos trabajando con
JPA y construyendo relaciones @OneToMany @ManyToOne ya que son las
más habituales pero nos olvidamos de las relaciones @OneToOne que
aunque no son las más habituales existen y tienen casuísticas bastante
comunes . Imaginémonos un gimnasio en el cual cada Socio tiene una tarjeta
que le permite el acceso . Estamos ante una relación 1 a 1 ya que cada socio
tiene asignada su tarjeta y cada tarjeta pertenece a un Socio.
@ManyToOne
@ManyToOne :Es una de las anotaciones mas habituales a nivel de JPA y se
encarga de generar una relación de muchos a uno . @JoinColumn:Esta
anotación sirve en JPA para hacer referencia a la columna que es clave
externa en la tabla y que se encarga de definir la relación
@OneToMany
Las relaciones uno a muchos (@OneToMany) se caracterizan por Entidad
donde tenemos un objeto principal y colección de objetos de otra Entidad
relacionados directamente. Estas relaciones se definen mediante colecciones,
pues tendremos una serie de objetos pertenecientes al objeto principal.
@ManyToMany
Las relaciones Mucho a Muchos (@ManyToMany) se caracterízan por
Entidades que están relacionadas con a muchos elementos de un tipo
determinado, pero al mismo tiempo, estos últimos registros no son exclusivos
de un registro en particular, si no que pueden ser parte de varios, por lo tanto,
tenemos una Entidad A, la cual puede estar relacionada como muchos
registros de la Entidad B, pero al mismo tiempo, la Entidad B puede pertenecer
a varias instancias de la Entidad A.