1
00:00:00,240 --> 00:00:00,540
Bien.

2
00:00:00,600 --> 00:00:04,290
Ahora sí que estamos listos para crear nuestro proyecto backend con Spring.

3
00:00:04,380 --> 00:00:05,670
Nuestra API Rest.

4
00:00:05,730 --> 00:00:11,010
Lo primero es definir REST, el significado transferencia de estado representacional.

5
00:00:11,100 --> 00:00:15,210
Es un protocolo entre cliente servidor sin estado Staines.

6
00:00:15,270 --> 00:00:19,470
Por lo tanto, en el bikeinn no se maneja ningún tipo de sesiones.

7
00:00:19,530 --> 00:00:22,200
Eso se maneja por el lado del cliente en Angular.

8
00:00:22,260 --> 00:00:27,930
Por ejemplo, utilizando el SESIO en storage o local storage de HTML5.

9
00:00:28,020 --> 00:00:34,140
Pero bien, una de las características fundamentales es poder integrar aplicaciones utilizando REST,

10
00:00:34,140 --> 00:00:38,820
poder obtener datos desde el backend en formato JSON o desde Angular.

11
00:00:38,880 --> 00:00:45,810
Desde cualquier cliente fueron en enviar datos a nuestro backend y realizar operaciones en la СДЕЛАТЬ,

12
00:00:45,840 --> 00:00:50,010
por ejemplo, para insertarlos, para editarlos, eliminarlos.

13
00:00:50,130 --> 00:00:50,580
En fin.

14
00:00:50,700 --> 00:00:57,300
Resumiendo, la transferencia y envío de datos se realiza a través de un empeines que es una wireless,

15
00:00:57,390 --> 00:01:04,130
una URI que envía una petición http al servidor con diferentes métodos o verbos del rico.

16
00:01:04,290 --> 00:01:11,910
Por ejemplo, utilizando post para insertar o crear nuevos registros guet para poder obtener leer datos

17
00:01:11,940 --> 00:01:12,240
put.

18
00:01:12,300 --> 00:01:16,440
Para editar datos existente del ID para eliminar al final.

19
00:01:16,530 --> 00:01:22,980
Estas operaciones o métodos del rico corresponden típicamente a las operaciones CRUD en la ASEANDO.

20
00:01:23,100 --> 00:01:28,350
El siguiente paso es crear nuestro proyecto, nuestra aplicación API Rascón Spring.

21
00:01:28,530 --> 00:01:32,010
Pero primero vamos a cambiar el Boot Dashboard.

22
00:01:32,550 --> 00:01:34,470
Lo dejamos al lado izquierdo.

23
00:01:35,790 --> 00:01:38,520
Acá, justo debajo del proyect explores.

24
00:01:40,770 --> 00:01:46,050
Con click derecho sobre Project Explorer en New Order otro.

25
00:01:47,850 --> 00:01:50,880
Nos vamos a Spring Boot Spring Starter Project.

26
00:01:51,780 --> 00:01:52,590
Siguiente.

27
00:01:53,730 --> 00:01:57,150
Y acá tenemos el Wizard para crear nuestro proyecto con Spring.

28
00:01:57,270 --> 00:02:02,730
Lo primero es el nombre que le vamos a dar, le vamos a llamar Springwood bikeinn api rest

29
00:02:06,540 --> 00:02:08,370
en type lo dejamos tal cual con Mave.

30
00:02:08,430 --> 00:02:10,500
Pero también pueden escoger Graiver.

31
00:02:10,590 --> 00:02:16,080
Son dos herramientas que nos permiten manejar las dependencias, la librería del proyecto y también

32
00:02:16,110 --> 00:02:17,070
generar el proyecto.

33
00:02:17,130 --> 00:02:24,180
Todo lo que es el proceso de generar y compilar, empaquetar, ya sea en un char o en un cuarto, lo

34
00:02:24,180 --> 00:02:25,830
dejamos por defecto en Maven.

35
00:02:25,950 --> 00:02:31,830
Otra diferencia es que Maven utiliza una estructura XML, mientras que Greedo utiliza una estructura

36
00:02:31,920 --> 00:02:32,710
DSL.

37
00:02:33,240 --> 00:02:34,230
Seleccionamos Maven.

38
00:02:34,350 --> 00:02:40,290
El packaging lo dejamos en Char, ya que estamos utilizando una aplicación API REST sin vistas.

39
00:02:40,320 --> 00:02:47,280
JSP Pero por ejemplo, si quisiéramos crear una aplicación con pistas JSP, utilizamos WAR o bien si

40
00:02:47,280 --> 00:02:53,370
queremos generar nuestra aplicación para realizar un diploide en un servidor externo como Apache Tomcat

41
00:02:53,430 --> 00:03:00,000
o como JBoss While Fly o Glass Fizz o cualquier otro, ahí tenemos que empaquetar en War, ya que en

42
00:03:00,000 --> 00:03:06,990
un servidor de aplicaciones externo no soporta el display en Yards, pero en nuestro caso nuestra aplicación

43
00:03:06,990 --> 00:03:10,530
con Springwood ya incluye, ya trae embebido.

44
00:03:10,620 --> 00:03:17,030
El servidor viene configurado por defecto dentro de Spring y nos permite realizar el diploide en Yaar.

45
00:03:17,760 --> 00:03:25,890
Así que dejamos en ya la versión de Java, cambiamos al JDK 10 o la versión de Java que tengamos instalada

46
00:03:25,980 --> 00:03:26,790
en nuestra máquina.

47
00:03:26,880 --> 00:03:34,020
Si tenemos el JDK 8, marcamos el 8, pero como tenemos instalado la versión 10 lo dejo en esta versión.

48
00:03:34,320 --> 00:03:41,100
Lo siguiente es configurar los atributos propio del proyecto el Group Heidy muy similar al package,

49
00:03:41,190 --> 00:03:46,470
pero para Mauve vamos a cambiar en vez de example bolsa de ideas

50
00:03:52,500 --> 00:03:57,360
con punto, bolsa de ideas que corresponde al nombre, la empresa, al dominio.

51
00:03:57,480 --> 00:04:01,860
Acá pueden cambiar el nombre de empresa que quieran, el nombre de empresa de ustedes.

52
00:04:01,950 --> 00:04:07,110
Luego tenemos el nombre del proyecto, pero separados por punto en vez de guión.

53
00:04:07,230 --> 00:04:11,250
Entonces sería Springwood punto backend, punto a api rest.

54
00:04:12,000 --> 00:04:17,820
El artefacto corresponde al mismo nombre del proyecto Hannay Exactamente igual.

55
00:04:18,330 --> 00:04:24,690
Y en el package de Yaba que sería nuestro opacas raíz o base principal donde vamos a tener todas las

56
00:04:24,690 --> 00:04:31,440
clases de nuestro proyecto, lo dejamos en el mismo, exactamente el mismo que el Group Heidy o el grupo.

57
00:04:32,670 --> 00:04:34,620
Simplemente copiamos y pegamos.

58
00:04:35,380 --> 00:04:39,720
Siguiente y acá tenemos la dependencia, las librerías.

59
00:04:39,820 --> 00:04:41,860
Lo primero es la versión de Spring Boot.

60
00:04:42,190 --> 00:04:47,740
Lo importante es seleccionar la última versión, que sea la final estable o realiz.

61
00:04:47,800 --> 00:04:50,740
Pero también están las Milestone y las Nacht.

62
00:04:50,950 --> 00:04:54,160
No la recomiendo, ya que son versiones que se están trabajando.

63
00:04:54,220 --> 00:04:55,300
Todavía está en desarrollo.

64
00:04:55,600 --> 00:04:57,070
Así que siempre es mejor.

65
00:04:57,100 --> 00:05:00,940
La versión es seleccionar la versión más estable, la final.

66
00:05:01,060 --> 00:05:03,490
En estos momentos, la 2.0 2.6.

67
00:05:03,550 --> 00:05:11,620
Obviamente esto va cambiando día a día, así que probablemente mañana estemos en la 2.Y 0.7 como final

68
00:05:11,680 --> 00:05:12,220
estable.

69
00:05:12,310 --> 00:05:16,180
Así que esto cambia todo el tiempo, pero de todas forma es transparente para el desarrollo.

70
00:05:16,270 --> 00:05:20,740
Básicamente son mejoras de pags, mejora y optimizaciones de Kor del framework.

71
00:05:20,830 --> 00:05:25,060
A nivel de KOR, en fin, no tiene ningún impacto en nuestro código.

72
00:05:25,360 --> 00:05:31,510
La 1.5 es una versión anterior que se maneja en forma paralela pero aun menos actualizada, ya que la

73
00:05:31,510 --> 00:05:38,230
voz trabaja con Spring Framework 5, mientras que la 1.5 punto DX trabaja con Spring Framework 4.

74
00:05:38,320 --> 00:05:40,360
Entonces hay un cambio importante.

75
00:05:40,450 --> 00:05:46,480
La idea es seleccionar siempre la última versión estable de la 2 para trabajar con Spring 5.

76
00:05:46,660 --> 00:05:46,840
Bien.

77
00:05:46,900 --> 00:05:50,770
Ahora veamos la dependencia, la librería que vamos a incluir en el proyecto.

78
00:05:50,800 --> 00:05:58,900
Primero vamos a ir a web, vamos a marcar la dependencia web, una de la más importante, ya que incluye

79
00:05:59,020 --> 00:06:05,950
el API, las anotaciones para crear nuestros controladores, en este caso Resfrié, por ejemplo, utilizando

80
00:06:05,950 --> 00:06:12,040
la anotación REST controla y el controlador se comunica con la clase de modelo con lógica de negocio.

81
00:06:12,130 --> 00:06:19,000
El servis enfín y los datos se envían al controlador y se retornan en una estructura, una representación

82
00:06:19,120 --> 00:06:19,630
Jasso.

83
00:06:19,750 --> 00:06:22,900
Lo siguiente es ese cueles tenemos que marcar.

84
00:06:22,900 --> 00:06:29,390
JPA De qué vamos a trabajar con el API de persistencia de Java a través de internet y con nuestra clase

85
00:06:29,410 --> 00:06:32,530
es entity que estas tapiada a tablas de la base.

86
00:06:32,530 --> 00:06:36,160
Dato lo siguiente marcar Moise cuelgue nuestro motor de base.

87
00:06:36,160 --> 00:06:38,210
Dato que vamos a trabajar en el curso.

88
00:06:38,590 --> 00:06:40,210
Vamos a ir también a correr.

89
00:06:42,340 --> 00:06:49,060
Vamos a marcar tours, una dependencia, una configuración que permite que cualquier cambio que hagamos

90
00:06:49,090 --> 00:06:55,480
en el código de nuestras clases, por ejemplo en el controlador o en nuestras clases de lógica negocio,

91
00:06:55,540 --> 00:07:02,170
en la clase servis o en las clases repository o daho, de forma automática se actualice, se refresque

92
00:07:02,260 --> 00:07:06,310
el servidor y vuelve a ser el diploide automáticamente con todos los cambios.

93
00:07:06,430 --> 00:07:06,640
Bien.

94
00:07:06,700 --> 00:07:07,420
Y eso es todo.

95
00:07:07,510 --> 00:07:13,630
Así que vamos a hacer clic en Finalizar en Fenech y esperamos a que se genere nuestro proyecto.

96
00:07:13,780 --> 00:07:18,010
Eso puede demorar un rato hasta que se genera la estructura completa.

97
00:07:19,060 --> 00:07:19,870
Y acá lo tenemos.

98
00:07:19,960 --> 00:07:21,810
Lo primero es el XML.

99
00:07:21,940 --> 00:07:28,840
Acá tenemos toda la estructura, el esqueleto de nuestro proyecto, el packaging con llear el group,

100
00:07:28,870 --> 00:07:32,680
Heidy, el artefacto con el nombre del proyecto.

101
00:07:33,220 --> 00:07:39,100
Luego tenemos la versión de Spring Boot, la que seleccionamos 2.0 1.6 Realiz.

102
00:07:39,430 --> 00:07:48,660
Luego tenemos la versión de Yaba del £J de Cádiz y la dependencias JPA Web Dev Tools y Maese SQL y además

103
00:07:48,660 --> 00:07:50,890
se incluye por defecto test.

104
00:07:53,040 --> 00:07:56,160
Luego tenemos en Recurso A apliqué Chum Properties.

105
00:07:56,280 --> 00:07:59,100
Este es nuestro archivo principal de configuración.

106
00:07:59,400 --> 00:08:04,170
Acá nos permite sobreescribir cualquier configuración de nuestro proyecto Springwood.

107
00:08:04,200 --> 00:08:06,090
Por defecto viene todo configurado.

108
00:08:06,180 --> 00:08:12,810
Veamos la clase principal, la más importante, que es el corazón de una aplicación exprimo es el busta,

109
00:08:12,900 --> 00:08:13,500
el arranque.

110
00:08:14,010 --> 00:08:20,970
Hacemos clic en la clase que se crea de forma automática y se crea dentro del package base de nuestro

111
00:08:20,970 --> 00:08:21,480
proyecto.

112
00:08:21,900 --> 00:08:22,560
En la raíz.

113
00:08:22,650 --> 00:08:28,680
Por lo tanto, cualquier otra clase de Spring, por ejemplo los controladores, la clase de negocio,

114
00:08:28,770 --> 00:08:34,680
la clase del muelo como los servis, como los repository o daho, todas tienen que estar dentro de este

115
00:08:34,680 --> 00:08:36,510
paquete, de este РАМКАХ base.

116
00:08:36,620 --> 00:08:41,640
Bueno, por supuesto van a estar dentro de sub package, dentro de API Rest.

117
00:08:41,700 --> 00:08:48,480
Vamos a tener el sub package controllers para los controladores models para las clases del modelo como

118
00:08:48,480 --> 00:08:54,450
los da o los servis EFFI, cosa que vamos a ir añadiendo y viendo en detalle durante el curso, pero

119
00:08:54,450 --> 00:08:58,920
revisemos la anotación Spring Boot Application, veamos de qué se trata.

120
00:08:59,070 --> 00:09:02,670
Esta anotación es la más importante de nuestra aplicación.

121
00:09:02,910 --> 00:09:04,890
Si vemos el detalle con control, click.

122
00:09:06,470 --> 00:09:11,360
Acá vemos que está formada por tres anotaciones, que serían las tres más importantes.

123
00:09:11,570 --> 00:09:18,290
Primero tenemos Spring Boot Configuré echa la configuración de Spring Boot configuración automática

124
00:09:18,350 --> 00:09:22,310
que podemos sobrescribir en el Application Properties acá.

125
00:09:23,780 --> 00:09:28,880
Luego tenemos en Nabeel auto configuré hecho en que justamente para habilitar la auto configuración

126
00:09:28,880 --> 00:09:36,020
component scan que permite buscar y registrar todas las clases y componente de spring que tengamos anotados,

127
00:09:36,020 --> 00:09:39,110
por ejemplo con Controller o Controller.

128
00:09:39,170 --> 00:09:45,320
Básicamente para registrar nuestros controladores en el framework dentro de Container de Spring, pero

129
00:09:45,320 --> 00:09:51,110
también para registrar clases de lógica negocio del modelo anotadas con repository, por ejemplo, que

130
00:09:51,110 --> 00:09:57,120
serían nuestras clases daho o de acceso a datos para consultas y operaciones a la basea.

131
00:09:57,230 --> 00:09:59,330
También para las clases anotadas con servis.

132
00:09:59,420 --> 00:10:06,260
Nuestras clases de servicios típicamente son los daho manager que pueden contener como atributo un dado

133
00:10:06,320 --> 00:10:07,190
o varios datos.

134
00:10:07,280 --> 00:10:12,590
Es una fachada para acceder a los datos y trabajar con el acceso a datos, con la persistencia.

135
00:10:12,740 --> 00:10:18,980
Bien, por ahora vamos a quedar hasta acá nada más y continuamos la próxima clase configurando la.

136
00:10:18,980 --> 00:10:22,100
Hace rato Moise cuele en el Application Properties.

137
00:10:22,190 --> 00:10:22,880
Nos vemos.
