1
00:00:02,220 --> 00:00:05,800
At agora, analisamos alguns dos princpios bsicos do Spring Boot.

2
00:00:06,110 --> 00:00:12,260
E antes de prosseguirmos, acho que seria timo se voc puder separar claramente quais so

3
00:00:12,260 --> 00:00:16,080
as diferenas entre Spring, Spring MVC e Spring Boot.

4
00:00:16,190 --> 00:00:23,180
Eu acho que ter muita clareza sobre isso seria realmente maravilhoso. Spring Boot, Spring MVC e Spring.

5
00:00:23,330 --> 00:00:24,410
Como eles se comparam?

6
00:00:24,470 --> 00:00:28,630
 basicamente o que gostaramos de responder nesta etapa especfica.

7
00:00:28,640 --> 00:00:34,880
Na verdade, at o final, voc entenderia que o Spring, o Spring MVC e o Spring Boot

8
00:00:35,000 --> 00:00:36,300
tm suas prprias funes.

9
00:00:36,310 --> 00:00:38,860
Eles no esto realmente competindo pelo mesmo espao.

10
00:00:39,050 --> 00:00:44,250
Eles resolvem problemas realmente diferentes e resolvem-nos muito bem.

11
00:00:44,270 --> 00:00:47,570
Ento, qual  o problema central que o framework Spring resolve?

12
00:00:47,570 --> 00:00:56,960
Pense nisso. O problema central que o framework Spring resolve  testabilidade. Se voc no definir dependncias

13
00:00:57,050 --> 00:01:00,280
adequadas, seus aplicativos no sero testveis.

14
00:01:00,290 --> 00:01:09,170
A caracterstica mais importante  a injeo de dependncia. O ncleo do framework Spring  o COI - inverso de controle.

15
00:01:09,330 --> 00:01:14,940
O Spring framework assume o controle de todos os beans e suas dependncias.

16
00:01:15,170 --> 00:01:22,550
Isso  basicamente o que o framework Spring se preocupa. O framework Spring tem tudo a ver com a definio

17
00:01:22,550 --> 00:01:28,900
dos seus beans, colocando o seu componente em, colocando o seu em servio e coisas do tipo e

18
00:01:28,960 --> 00:01:34,670
tambm definindo suas dependncias no auto-wire e coisas assim e tambm definindo como encontrar seus beans.

19
00:01:34,700 --> 00:01:42,680
Componentes digitalizados por exemplo. Esse  basicamente o problema central que o framework Spring resolve. O framework Spring resolve

20
00:01:42,710 --> 00:01:46,030
o problema da injeo de dependncia.

21
00:01:46,040 --> 00:01:53,210
Ele ajuda voc a construir aplicativos fracamente acoplados. Aplicaes fracamente acopladas podem ser facilmente testadas

22
00:01:53,210 --> 00:01:54,020
em unidades.

23
00:01:54,170 --> 00:02:00,140
Se voc observar este exemplo, ver que a instncia de servio de boas-vindas  criada diretamente aqui.

24
00:02:00,140 --> 00:02:06,170
Isso  fortemente acoplado. O controlador de boas-vindas agora est fortemente acoplado ao servio de boas-vindas.

25
00:02:06,450 --> 00:02:13,470
No entanto, se voc fizer a injeo de dependncia corretamente, voc poder conect-lo automaticamente.

26
00:02:13,490 --> 00:02:21,140
Voc pode usar frameworks como Mockito e Mock Spring MVC para substituir este servio por

27
00:02:21,170 --> 00:02:21,590
um

28
00:02:21,590 --> 00:02:27,550
simulado e teste unitrio deste controlador. Esse  o principal problema que o framework Spring resolve.

29
00:02:27,560 --> 00:02:33,340
Alm disso, o framework Spring tambm resolve alguns outros problemas, como duplicao e  basicamente um cdigo

30
00:02:33,340 --> 00:02:34,140
de encanamento.

31
00:02:34,200 --> 00:02:40,080
Ento, se, digamos que voc est usando o JDBC, voc precisa escrever muito cdigo padro.

32
00:02:40,100 --> 00:02:47,600
Tente, pegue, exceo e todo esse tipo de coisa. Isso no  necessrio quando voc usa qualquer uma das coisas

33
00:02:47,600 --> 00:02:51,410
que so baseadas nas estruturas Spring, Spring JDBC ou Spring JMS.

34
00:02:51,410 --> 00:02:54,380
Voc realmente no precisa fazer esse tipo de coisa.

35
00:02:54,380 --> 00:03:00,590
A outra coisa com o framework Spring resolveu fornecer uma boa integrao com outros frameworks. Ento Spring teve boa integrao

36
00:03:00,980 --> 00:03:03,930
com o Hibernate ORM.

37
00:03:03,960 --> 00:03:05,640
iBatis para mapeamento de objetos.

38
00:03:05,780 --> 00:03:08,840
Tem boa integrao com JUnit e Mockito tambm.

39
00:03:08,940 --> 00:03:17,810
O Spring MVC est preocupado com o desenvolvimento de aplicativos da web. O Spring MVC fornece uma maneira simples de

40
00:03:17,810 --> 00:03:19,700
desenvolver aplicativos da web.

41
00:03:19,700 --> 00:03:26,750
Uma das melhores coisas do Spring MVC  a separao de interesses. Servlet Dispatchers est preocupado apenas com a

42
00:03:26,750 --> 00:03:32,250
parte bsica do controlador frontal. Existe um modelo e viso.

43
00:03:32,420 --> 00:03:39,640
Existe um resolvedor de vises que est preocupado apenas em resolver um nome de viso para a viso fsica.

44
00:03:39,770 --> 00:03:46,220
Com esse tipo de conceito simples, o Spring MVC facilita muito o desenvolvimento de seus aplicativos

45
00:03:46,820 --> 00:03:52,200
da Web e de seus servios RESTful. Se voc estiver desenvolvendo aplicativos da Web ou

46
00:03:52,210 --> 00:03:53,090
servios REST com

47
00:03:53,100 --> 00:03:59,680
Spring Boot, internamente, voc est usando o Spring MVC Framework. Essa  a estrutura do Spring Web MVC.

48
00:03:59,690 --> 00:04:04,820
Por que precisamos do Spring Boot? Sobre o que falamos muito neste curso especfico.

49
00:04:04,890 --> 00:04:08,590
Ento, nos ltimos passos, vimos a necessidade do Spring Boot, certo?

50
00:04:08,600 --> 00:04:10,890
Ns no queremos estar configurando coisas assim.

51
00:04:10,900 --> 00:04:15,230
Estamos configurando o resolvedor de views, configurando o servlet dispatcher.

52
00:04:15,350 --> 00:04:22,280
Se estamos usando o Hibernate JPA, precisamos configurar a fonte de dados, o gerenciador de entidades e o gerenciador de transaes,

53
00:04:22,310 --> 00:04:24,300
e muito desse tipo de coisa.

54
00:04:24,440 --> 00:04:25,840
Spring Boot diz: OK! Por que

55
00:04:25,850 --> 00:04:27,830
voc precisa fazer toda essa configurao?

56
00:04:27,830 --> 00:04:30,000
Podemos realmente pensar diferente?

57
00:04:30,020 --> 00:04:32,230
O pensamento de Spring Boot , OK!

58
00:04:32,450 --> 00:04:38,600
Esse cara adicionou um jar Spring MVC, ento posso configurar alguns dos beans automaticamente? Posso configurar um servlet de

59
00:04:38,600 --> 00:04:43,310
despachante automaticamente para voc? Posso configurar o resolvedor de visualizaes automaticamente

60
00:04:43,310 --> 00:04:44,140
para voc?

61
00:04:44,140 --> 00:04:45,800
Posso configurar uma fonte de dados.

62
00:04:45,830 --> 00:04:51,520
Se o frasco de hibernao estiver no caminho de classe. Eu sei, ele colocou o jar do Hibernate na classe porque ele

63
00:04:51,540 --> 00:04:58,350
quer falar com o banco de dados. Por que no crie automaticamente uma fonte de dados? Ento  isso que o Spring Boot faz. A parte

64
00:04:58,360 --> 00:05:05,240
de configurao automtica. Ele olha para estruturas que esto disponveis no caminho de classe e fornecem configurao automtica. Esses projetos iniciais so todos

65
00:05:05,240 --> 00:05:08,960
construdos em torno de padres bem conhecidos.

66
00:05:09,030 --> 00:05:14,670
Vamos falar sobre a web de inicializao Spring Boot e o JPA de inicializao do Spring Boot na prxima etapa.

67
00:05:14,670 --> 00:05:21,730
Alm de comear, os objetivos importantes do Spring Boot so fornecer alguns recursos de monitoramento.

68
00:05:21,870 --> 00:05:27,480
Por isso, tambm fornece entradas como o atuador de inicializao Spring Boot, que  usado para monitoramento.

69
00:05:27,480 --> 00:05:34,510
Por isso, permite o monitoramento de seu aplicativo e tambm permite que

70
00:05:34,530 --> 00:05:41,250
iniciantes selecionem diferentes contineres servlet incorporados. E ele tem entradas para registro, ento se voc quiser usar o log4J, tambm

71
00:05:41,250 --> 00:05:42,800
h um registro separado para ele.

72
00:05:42,840 --> 00:05:50,310
Espero que este vdeo tenha ajudado voc a entender a diferena entre Spring, Spring MVC e Spring Boot.

73
00:05:50,310 --> 00:05:52,840
Na prxima etapa, nos concentraramos em

74
00:05:53,030 --> 00:05:53,400
comear.

