1
00:00:00,180 --> 00:00:02,310
Bien, continuamos con crear nuestro primer proyecto.

2
00:00:02,400 --> 00:00:03,390
Pero hay diferentes formas.

3
00:00:03,420 --> 00:00:08,400
No podríamos ir, por ejemplo, a Foil New, por ejemplo, y acá Spring State Project.

4
00:00:08,460 --> 00:00:09,960
Eso sería una alternativa.

5
00:00:09,990 --> 00:00:16,020
Pero como todavía no tenemos ningún proyecto acá, muestra un atajo para crear en el Package Explorer,

6
00:00:16,080 --> 00:00:20,610
por ejemplo, crear nuevo Spring Starter proyecto, crear un proyecto.

7
00:00:20,730 --> 00:00:21,530
Hacemos un clic.

8
00:00:22,220 --> 00:00:27,720
Bueno, después cuando creamos el proyecto, esto desaparece y lo podemos crear con click derecho new.

9
00:00:28,020 --> 00:00:29,610
O acá en File New.

10
00:00:29,730 --> 00:00:30,270
Perfecto.

11
00:00:30,330 --> 00:00:32,950
Le damos un nombre, por ejemplo, Springwood.

12
00:00:33,000 --> 00:00:40,080
Web separÃ con guión Springwood web porque vamos a ver una aplicación web con Springwood y con Spring

13
00:00:40,080 --> 00:00:40,440
Framework.

14
00:00:40,470 --> 00:00:41,040
Por supuesto.

15
00:00:41,160 --> 00:00:45,300
Bien, lo siguiente es el tipo bueno, vamos a usar Maven o Grail.

16
00:00:45,390 --> 00:00:49,380
Es el administrador de dependencia que nos sirve para generar nuestra aplicación.

17
00:00:49,410 --> 00:00:54,900
Nuestro proyecto permite compilar, construir, por ejemplo el JAR el war cuando queremos publicar en

18
00:00:54,900 --> 00:00:59,850
producción nuestra versión final, por ejemplo con el comando de maven install opacas.

19
00:00:59,940 --> 00:01:01,500
Pero bueno, la cosa que vamos a hacer después.

20
00:01:01,650 --> 00:01:06,360
Entonces acá tenemos el administrador de dependencia y para generar el proyecto.

21
00:01:06,450 --> 00:01:11,160
Bueno, Maven también se encarga de manejar todo lo que son las dependencias, los Geert, las librerías

22
00:01:11,340 --> 00:01:16,020
lo dejamos en Maven, luego tenemos el packaging o tipo de empaquetado del proyecto.

23
00:01:16,080 --> 00:01:18,090
Bueno, hay two year y war.

24
00:01:18,480 --> 00:01:21,510
Bueno lo típico en Springwood utilizar char.

25
00:01:21,570 --> 00:01:27,180
Recuerden que Spring Boot trae un servidor embebido y este servidor Tomcat una de la característica

26
00:01:27,300 --> 00:01:31,310
que es portable permite publicar en JAR con el comando ya va menos.

27
00:01:31,650 --> 00:01:34,290
Bueno, eso también lo vamos a ver, pero es mucho más portable.

28
00:01:34,380 --> 00:01:40,050
No solamente podemos publicar en local, sino también lo podemos subir a un servidor, por ejemplo Aeroclub

29
00:01:40,170 --> 00:01:46,620
en la nube o un servidor virtual a un pps y con el comando llamenos jar levantamos nuestro yaar nuestra

30
00:01:46,620 --> 00:01:47,190
aplicación.

31
00:01:47,340 --> 00:01:53,550
Por lo general uno piensa que con war es para aplicaciones web y JAR es para aplicaciones de escritorio,

32
00:01:53,580 --> 00:01:56,460
para aplicaciones de consola, para librerías, en fin.

33
00:01:56,490 --> 00:02:01,770
Pero con Spring Boot Year y war en ambos casos podemos tener nuestra aplicación web ahora.

34
00:02:01,770 --> 00:02:06,930
Bueno, siempre recomiendo y se recomienda JAR para aplicaciones con Spring Put que utiliza plantilla

35
00:02:06,930 --> 00:02:12,600
time lif y también para API REST y solamente utilizamos juar cuando queremos publicar en un servidor

36
00:02:12,660 --> 00:02:18,690
externo que no sea el que viene incluido en la aplicación en Springwood, por ejemplo, un Tom Kateb

37
00:02:18,690 --> 00:02:23,760
eterno en Glass Fitch o en un servidor de Ñados en Wall Fly, por ejemplo.

38
00:02:23,820 --> 00:02:24,240
En fin.

39
00:02:24,340 --> 00:02:29,160
Y también si queremos utilizar vistas JSP porque con YAT no se puede.

40
00:02:29,250 --> 00:02:32,340
Si queremos trabajar con JSP tiene que ser en war y no en JAR.

41
00:02:32,460 --> 00:02:38,370
Bueno, de todas formas Taime Lif mucho más robusto y recomendado que JSP, por lo menos para Spring

42
00:02:38,430 --> 00:02:40,650
para aplicaciones con Springwood Spring Framework.

43
00:02:40,740 --> 00:02:42,900
Bueno, entre Barek, ventaja y característica.

44
00:02:43,010 --> 00:02:48,810
Bueno, a pesar de que más robusto es más amistoso también con todo lo que es HTML5 está optimizado,

45
00:02:48,900 --> 00:02:53,400
no se compila a un SELECT, ni siquiera tiene dependencia a lápiz Arlett.

46
00:02:53,520 --> 00:02:59,490
De hecho, podríamos trabajar Tayyip tanto con Spring web MVC, pero también con programación reactiva

47
00:02:59,520 --> 00:03:00,210
con £ué Flux.

48
00:03:00,360 --> 00:03:07,380
El código mucho más limpio es puro HTML con atributos y atributos que son compatible con HTML5 propios

49
00:03:07,440 --> 00:03:11,130
de Tenerife, un código mucho más limpio y tampoco tiene código Java.

50
00:03:11,130 --> 00:03:16,440
Como JSP no maneja etiquetas ni directivas como lo hace JSP con el tag lib.

51
00:03:16,590 --> 00:03:16,890
En fin.

52
00:03:16,980 --> 00:03:22,140
Y también tiene muy buen rendimiento porque maneja un sistema de caché de forma predeterminada.

53
00:03:22,170 --> 00:03:27,150
Por defecto tiene un caché, a pesar de que claro, Time Life es un motor de plantilla.

54
00:03:27,240 --> 00:03:33,960
Por lo tanto analiza o realiza un parse de la plantilla para convertir esto en HTML y toma su tiempo.

55
00:03:34,020 --> 00:03:38,370
Pero bueno, utiliza caché para evitar analizar siempre la plantilla.

56
00:03:38,490 --> 00:03:40,200
Eso lo hace también mucho más rápido.

57
00:03:40,530 --> 00:03:44,430
Entonces seleccionamos Yaar, la versión de Java tengo configurarla 11.

58
00:03:44,520 --> 00:03:50,850
Ustedes colocan la versión de Java que tenga configurada se usa en la 13 o si salió la 14 colocan a

59
00:03:50,860 --> 00:03:52,680
14, en fin, o 15.

60
00:03:52,740 --> 00:03:58,050
Pero hasta el momento la última en el momento de grabar este video es la 13 y también si tienen la 8

61
00:03:58,050 --> 00:03:58,800
seleccionan la 8.

62
00:03:58,860 --> 00:04:02,910
Si tienen la 12, seleccionan cualquiera y después modifican el XML.

63
00:04:03,040 --> 00:04:10,650
Bien, en mi caso la 11 lenguaje java por defecto bien y el grupo Heidy es para organizar los nombres

64
00:04:10,650 --> 00:04:16,500
de espacios o paquetes o paquetes e maven de hecho tiene la misma estructura que un package de Java

65
00:04:16,560 --> 00:04:17,730
para evitar choques de nombre.

66
00:04:17,820 --> 00:04:23,970
Es decir, podríamos tener varias aplicaciones de Maven con el artefacto Heidy, varias dentro de un

67
00:04:23,970 --> 00:04:25,380
mismo grupo, varias aplicaciones.

68
00:04:25,470 --> 00:04:29,970
Incluso podríamos tener otras aplicaciones con el mismo nombre, pero que están en grupo diferente,

69
00:04:30,090 --> 00:04:31,860
igual que en Java, exactamente igual.

70
00:04:31,980 --> 00:04:34,770
Bien, le voy a nombrar con punto bolsa ideas

71
00:04:37,950 --> 00:04:45,360
punto Spring Boot App de aplicación con punto Bolsa de ideas punto Springwood Punto App de aplicación

72
00:04:45,450 --> 00:04:48,750
de plataforma pueden colocar el grupo Heidy o Group que quieran.

73
00:04:49,020 --> 00:04:56,360
En mi caso voy a colocar este y lo mismo empacas de Java, pero además le voy a agregar web.

74
00:04:56,820 --> 00:04:59,790
Entonces voy a pegar acá y por acá web.

75
00:05:00,780 --> 00:05:07,500
Antes de AP bien, recuerde que un paquete no tiene una convención estricta ni una regla, pero por

76
00:05:07,500 --> 00:05:10,080
lo general comienza con el dominio.

77
00:05:10,170 --> 00:05:14,580
Punto com funtor el dominio de la empresa acá bolsa de ideas.

78
00:05:14,640 --> 00:05:20,220
En mi caso puede ser en nombre de la empresa o de algún área de trabajo en nombre proyecto Spring Boot

79
00:05:20,290 --> 00:05:21,020
punto web.

80
00:05:21,180 --> 00:05:24,820
En el fondo alguna organización que le queremos dar a este paquete.

81
00:05:25,060 --> 00:05:25,250
Bien.

82
00:05:25,320 --> 00:05:27,210
Y la versión légamo por defecto.

83
00:05:27,360 --> 00:05:30,480
Pero acá puede la versión que quieran que quieran para el proyecto.

84
00:05:30,600 --> 00:05:36,390
Una descripción también tengo por defecto y estamos listos ahora como detalle importante este package

85
00:05:36,660 --> 00:05:42,240
que es de Java, del proyecto donde van a ir todas las clases de Spring y este va a ser nuestro package

86
00:05:42,330 --> 00:05:44,340
raíz o base de la aplicación.

87
00:05:44,430 --> 00:05:49,260
Por lo tanto, ahí tiene que estar toda la clase de Spring de proyecto, controladores, clase de modelo,

88
00:05:49,350 --> 00:05:54,710
los servis, los en Thetis, los Daho, en fin, todas las clases siguiente.

89
00:05:54,930 --> 00:06:01,590
Bien, acá la versión de Spring Input, la última hasta la fecha es 2.ª 2.5 hasta el momento grabar

90
00:06:01,650 --> 00:06:02,170
este video.

91
00:06:02,220 --> 00:06:03,150
Pero esto va campeando.

92
00:06:03,240 --> 00:06:10,650
Recomiendo siempre una versión final estable, no usar MWC ni tampoco Snapchat, que son versiones de

93
00:06:10,650 --> 00:06:12,900
desarrollo que no son estables, no son finales.

94
00:06:12,990 --> 00:06:17,310
Entonces siempre utilizar versiones de este tipo que sea final de la última.

95
00:06:17,340 --> 00:06:24,270
2.2 Punto 5 Las seleccionamos Perfecto y librerías la dependencia que vamos a utilizar en este proyecto.

96
00:06:24,360 --> 00:06:26,640
La primera y más importante es la web.

97
00:06:26,910 --> 00:06:33,780
Bien, estoy bajando con la rueda del mouse, pero también pueden buscar acá por web, por ejemplo web,

98
00:06:33,960 --> 00:06:35,780
ya que aparecen, se fijan web.

99
00:06:36,660 --> 00:06:39,930
Bien, voy a bajar con la rueda del mouse web.

100
00:06:40,380 --> 00:06:43,560
Acá aparece Spring Web y seleccionamos Web.

101
00:06:43,710 --> 00:06:49,620
Cuidado, tiene que ser Spring Web porque también está la versión rectiva con Waffles Pen Spring Web

102
00:06:49,740 --> 00:06:56,070
es para construir aplicaciones tanto Spring MS con pistas Taine, lib, jsp, pero también para crear

103
00:06:56,100 --> 00:07:03,300
aplicaciones REST full para nuestras API y por defecto incluye este servidor Tomcat en peudo se fijan

104
00:07:03,390 --> 00:07:09,510
acá lo dice USA un servidor Tomcat Apache que por defecto viene en pedido como contenedor, pero también

105
00:07:09,510 --> 00:07:15,230
incluye toda la dependencia bases de Spring, todo lo que es Spring Core inyección de dependencia bueno

106
00:07:15,360 --> 00:07:21,750
spring web que incluye el a pisar LET Spring MSE todo lo que son los controladores y también para traja

107
00:07:21,750 --> 00:07:22,350
con Jason.

108
00:07:22,470 --> 00:07:30,300
En fin, auto configuración con Spring Boot Auto configure trae todo lo siguiente en templates el motor

109
00:07:30,300 --> 00:07:39,150
de plantilla vamos a seleccionar tam lif y además faltaría dev tours un poco más arriba por acá e Developer

110
00:07:39,150 --> 00:07:39,450
Tours.

111
00:07:39,510 --> 00:07:42,060
Justamente acá es Spring Putter Tours.

112
00:07:42,390 --> 00:07:42,990
Perfecto.

113
00:07:43,080 --> 00:07:46,830
Bueno, permite actualizar los cambios de nuestro código en tiempo real.

114
00:07:46,890 --> 00:07:53,430
Por ejemplo, si lanzamos nuestra aplicación Eclipse en el Spring Tours, levantamos y modificamos el

115
00:07:53,430 --> 00:07:58,890
código en el controlador, por ejemplo, o una clase servis o un repository un daho.

116
00:07:58,980 --> 00:08:01,830
Modificamos el código y guardamos de forma automática.

117
00:08:01,830 --> 00:08:05,430
Se actualiza el servidor que tenemos embebido con el cambio.

118
00:08:05,520 --> 00:08:08,740
No tenemos que estar reiniciando esto de forma automática.

119
00:08:08,820 --> 00:08:14,490
Entonces cualquier cambio que tengamos en desarrollo se actualiza el de pie de nuestro servidor.

120
00:08:14,710 --> 00:08:17,940
Bien, eso sería todo, pero también bueno, solamente para revisar.

121
00:08:18,060 --> 00:08:23,550
Hay otras dependencias que no la vamos a incluir ahora, pero si lo vamos a ver después más adelante,

122
00:08:23,640 --> 00:08:28,530
por ejemplo en ese cuele si queremos traja con paseando con JDBC.

123
00:08:28,590 --> 00:08:34,920
Bueno acá tanto la dependencia con Spring data JPA con Moise cuele por acá esta Moise SQL con PostgreSQL,

124
00:08:34,980 --> 00:08:36,490
SQL con Oracle.

125
00:08:36,660 --> 00:08:42,030
En fin, acá están todos los driver para traja con distintos motores de Ayato y estamos listo.

126
00:08:42,360 --> 00:08:43,050
Eso sería todo.

127
00:08:43,170 --> 00:08:47,160
Quizás como comentario a veces en el wizard estos nombre cambian.

128
00:08:47,220 --> 00:08:54,060
Por ejemplo, ahora se llama web spring web, pero puede que en algún momento se llame Web Web o web

129
00:08:54,210 --> 00:08:55,560
o spring starter web.

130
00:08:55,840 --> 00:08:59,550
Bueno, estos nombres pueden cambiar, pero es solamente una etiqueta visual.

131
00:08:59,640 --> 00:09:02,400
La dependencia siempre es la misma para que lo tengan en cuenta.

132
00:09:02,670 --> 00:09:04,290
Por ahora es Sprinkles.

133
00:09:04,560 --> 00:09:05,280
Lleva ese nombre.

134
00:09:05,550 --> 00:09:06,330
Estamos listo.

135
00:09:06,510 --> 00:09:07,170
Finalizar.

136
00:09:08,160 --> 00:09:13,950
Bueno, acá se puede morar un buen rato porque tienen que cargar las dependencias de Maven de la central.

137
00:09:14,110 --> 00:09:14,910
Hay que tener paciencia.

138
00:09:15,000 --> 00:09:16,170
Se puede demorar un buen rato.

139
00:09:27,060 --> 00:09:27,600
Perfecto.

140
00:09:27,690 --> 00:09:28,620
Acá tenemos el proyecto.

141
00:09:28,830 --> 00:09:31,080
Bueno, puede que marque algún error.

142
00:09:31,170 --> 00:09:34,710
A veces la dependencia se descarga en mal de internet con archivo corrupto.

143
00:09:34,740 --> 00:09:38,820
Por ejemplo, se podría cargar algún Jahr corrupto y vamos a tener problema.

144
00:09:38,920 --> 00:09:42,690
Y de hecho podría marcar error en el proyecto con alguna marca en rojo.

145
00:09:42,780 --> 00:09:45,870
Si llega a pasar, se le llega a suceder ese tipo de error.

146
00:09:45,960 --> 00:09:47,970
Simplemente tienen que volver a descargar.

147
00:09:48,060 --> 00:09:52,530
Para eso tenemos que eliminar la carpeta de Maven MWC de la carpeta del usuario.

148
00:09:52,950 --> 00:09:57,480
Bien, por ejemplo, acá en Yussef y el nombre usuario.

149
00:09:58,750 --> 00:09:59,260
Punto.

150
00:09:59,590 --> 00:10:03,100
Doh y la eliminan con click derecho, la eliminan una que se borra.

151
00:10:03,190 --> 00:10:09,010
Bueno, primero antes de eliminar tienen que cerrar el eclipse, lo cierran, luego eliminan la carpeta

152
00:10:09,040 --> 00:10:10,540
M2 y lo vuelven a abrir.

153
00:10:10,810 --> 00:10:15,640
Y una vez que se haya reiniciado el eclipse o el STS con click derecho, acá actualizan.

154
00:10:15,760 --> 00:10:18,520
Se van a Maven por acá ADDA y Proyecto.

155
00:10:21,280 --> 00:10:22,780
Selección de proyecto Yokai.

156
00:10:23,440 --> 00:10:29,600
Bueno, eso en caso de error de que se cargó algo mal, alguna librería que muy poco probable que ocurra.

157
00:10:29,650 --> 00:10:35,410
Pero a veces pasa bueno, y básicamente por alguna mala señal de internet, por una intermitencia o

158
00:10:35,410 --> 00:10:36,700
un proxy corporativo.

159
00:10:36,730 --> 00:10:39,880
En fin, puede pasar lo siguiente es revisar el pomme kml.

160
00:10:40,000 --> 00:10:40,750
Nos vamos acá.

161
00:10:41,370 --> 00:10:42,850
Acá tenemos toda la dependencia.

162
00:10:42,880 --> 00:10:45,340
Se fijan la versión de Java la 11.

163
00:10:45,430 --> 00:10:51,010
Recuerden si están usando, por ejemplo la 12, alguna versión que no está en el Wizard la pueden cambiar.

164
00:10:51,010 --> 00:10:53,270
Acá seleccionan cualquiera y la modifican acá.

165
00:10:53,440 --> 00:10:53,620
Bien.

166
00:10:53,690 --> 00:10:58,800
Y acá tenemos las dependencias Tint, LIF, Web, Deep Tools y Tuatha.

167
00:10:58,810 --> 00:11:00,750
Se configura de forma automática con Springwood.

168
00:11:00,880 --> 00:11:02,720
No hay que hacer nada, todo viene configurado.

169
00:11:02,740 --> 00:11:10,270
Tanto el web como el timeline Dev Tools, por ejemplo, si agregamos JPA con un motor de Ayato, también

170
00:11:10,270 --> 00:11:12,070
viene una configuración por defecto.

171
00:11:12,190 --> 00:11:17,230
Voy a cerrar acá tenemos el package principal o raíz importante.

172
00:11:17,320 --> 00:11:20,560
Acá están toda la clase de proyecto, por ejemplo, el controlador.

173
00:11:20,650 --> 00:11:25,960
La clase service, tal como dije, tiene que estar dentro de este package principal.

174
00:11:26,050 --> 00:11:32,920
Bueno, obviamente en su РАМКАХ vamos a tener su рамках controllers models service, en fin, pero siempre

175
00:11:33,010 --> 00:11:38,710
dentro de este РАМКАХ principal, porque todas estas clases de Spring anotadas con Controller con la

176
00:11:38,710 --> 00:11:44,290
anotación component o service que las vamos a ver permite registrar estos componentes Spring y para

177
00:11:44,290 --> 00:11:48,130
que se puedan registrar tienen que estar dentro de este contexto, de este package.

178
00:11:48,400 --> 00:11:54,730
Ven acá tenemos la clase principal de Spring Put que es el arranque, es el vostra de la aplicación.

179
00:11:54,850 --> 00:11:57,490
Acá ocurre todo y de hecho acá tenemos la anotación.

180
00:11:57,550 --> 00:12:03,130
El input application con control click la podemos ver acá tiene la configuración de Spring de Spring

181
00:12:03,130 --> 00:12:09,700
Boot Springwood configure chón también habilita la auto configuración y tiene el component scan, es

182
00:12:09,700 --> 00:12:12,880
decir, escanea los componentes que están dentro de este package.

183
00:12:13,450 --> 00:12:17,460
Todos los componentes, todos los beans, ya sea controladores component service.

184
00:12:17,530 --> 00:12:23,820
Bueno, en fin, todo lo que he nombrado lo busca y lo registra como componente del frecuenté Spring

185
00:12:24,070 --> 00:12:25,600
y lo guarda en el contenedor.

186
00:12:25,760 --> 00:12:26,770
Bien, eso es todo.

187
00:12:26,890 --> 00:12:28,420
Quería explicar estos detalles.

188
00:12:28,570 --> 00:12:31,300
Voy a cerrar y continuamos en la siguiente clase.
