Na etapa anterior, conseguimos criar um servio REST com muita facilidade. Na etapa, entenderemos o que
configurao automtica.
Como todas as coisas que so necessrias para
o servio REST estar instalado e funcionando so configuradas automaticamente?
Vamos dar uma olhada nesta etapa.
Ns temos o Spring Boot na aplicao de 10
etapas, onde temos a anotao SpringBootApplication. A anotao em SpringBootApplication indica que este um arquivo de contexto Spring.
Esse o nmero um.
Nmero dois, permite algo chamado configurao automtica.
Nmero trs, permite algo chamado varredura de componentes.
A verificao de componentes um dos recursos importantes do Spring onde ele iniciaria a
verificao automtica dessas classes neste pacote.
E este sub pacote para qualquer feijo.
Ento ns adicionamos em uma anotao em restController.
Esta uma das anotaes digitalizadas.
Ento, isso seria registrado como um componente. Portanto, o bookController seria registrado como um bean e
seria gerenciado pelo framework Spring.
Existem trs coisas que so essencialmente feitas no aplicativo Spring Boot.
Isso indica que este um contexto de primavera.
A segunda coisa o fato de que isso permite a configurao automtica.
A terceira coisa que ele permite a verificao automtica deste pacote especfico.
Agora, se queremos olhar para a configurao automtica no departamento. O mtodo de execuo de pontos do aplicativo Spring
usado para executar um contexto Spring.
Ento, eu estou dando um contexto Spring como uma entrada para ele e seria capaz de executar isso. O mtodo run tambm
retorna alguma coisa. Por isso, retorna um contexto de aplicativo.
Ento, eu vou realmente recuperar o contexto da aplicao. Ento, estou recuperando o contexto do aplicativo.
Isso retorna o contexto do aplicativo. Eu estou tomando e eu diria contexto de aplicao. Eu gostaria de dar uma volta.
Ento, para cada um, controle um. Controle o espao na verdade. Eu gostaria de fazer um loop em torno do contexto do aplicativo.
ponto pegar feijo.
Eu quero obter os
nomes de todos os beans que esto configurados e eu chamaria esse nome e gostaria de registr-los. Eu vou fazer agora um sistema. Tomando um atalho aqui.
Idealmente, eu deveria estar usando um logger. Mas eu sou um cara preguioso.
Eu iria em frente e imprimia todos os gros que esto presentes aqui.
Vamos ver o que aconteceria.
Execute-nos aplicativo Java.
EST BEM! Estou com um erro dizendo que ele falhou ao iniciar porque o 8080 j est sendo usado.
Vamos ver.
J est sendo usado.
Eu mato isso.
E vamos comear de novo.
OK legal!
H muitas coisas que so impressas agora.
Portanto, h uma srie de coisas que esto sendo configuradas automaticamente para ns.
Como esto sendo configurados?
basicamente o recurso chamado configurao automtica. O que o Spring Boot faz como
parte da estrutura Spring Boot, existe algo chamado autoconfigurao do Spring Boot.
Ento, se eu olhar, uma das dependncias o auto boot do Spring Boot. E essa configurao automtica do Spring
Boot tem muita lgica incorporada. Ento voc pode ver que h muitas classes que so escritas.
Ento, se voc olhar para o jar de configurao automtica, um jar muito muito, muito grande.
E se formos para a Web, encontraremos nossas configuraes para todas as coisas
que estamos vendo agora.
Eu estou indo para o servlet web de configurao
automtica e voc veria algo chamado configurao automtica de servlet dispatcher.
Essas classes de configurao automtica so o que esto criando esses beans.
O que aconteceria na inicializao que a estrutura do Spring Boot acionaria o jar de configurao automtica.
E ele passaria pelas classes que esto no caminho de classe.
Ento, veria que, OK, eu tenho uma
classe especfica no classpath? Veria que eu tenho
uma estrutura Spring Web MVC no classpath.
O que esta configurao automtica do Spring Boot faz?
Diz: Oh! H o Spring Web MVC no classpath, ento
eu precisaria configurar um servlet de dispatcher. "Ele diria:" Oh! existe o Spring MVC no classpath, ento eu precisaria configurar
um resolvedor de viso. Ento todo esse tipo de coisa acontece e
voc pode ver todos os gros que foram criados aqui.
Como a configurao funciona?
Spring Boot basicamente olha para duas coisas.
Um deles o framework disponvel no classpath. Existe um site chamado springboottutorial
dot, onde temos muitos artigos sobre o Spring Boot.
Estou me referindo a um dos artigos l.
Ento Spring Boot olha para A) os frameworks
que esto disponveis no caminho de classe e tambm, B) Ele olha para os beans existentes que esto configurados para o aplicativo. E com base nisso, fornece
a configurao necessria.
Por exemplo, se voc estiver usando um iniciador
de web, as coisas bsicas que voc precisaria seriam um servlet de dispatcher, voc precisaria de, provavelmente, alguma internacionalizao, voc precisa de alguma mensagem. Todo esse tipo de coisa
seria autoconfigurado para voc.
Agora, estamos analisando um dos beans de configurao automtica, que a configurao automtica da fonte de dados.
Se voc vir o cdigo de configurao automtica da origem de dados que est dentro do jar de configurao automtica de inicializao do Spring.
Voc veria que condicional na classe de ponto de origem de dados de classe e que
uma classe de ponto de tipo de banco de dados incorporado esteja presente no caminho de classe.
Mas o que acontece
que somente essas classes esto no caminho de classe, ento esse bean especfico seria criado. O bean de origem de dados seria criado apenas
quando eles estiverem no caminho de classe.
Mas voc pode ver o cdigo aqui. Portanto, a configurao
automtica da base de dados condicionada disponibilidade de uma classe especfica no caminho de classe.
Mas voc tambm pode ver outro exemplo aqui, configurao do banco de dados de origem de dados assim incorporado.
Isso s criado quando no h fonte de dados, quando no
h um bean criado com uma fonte de dados ou uma fonte de dados XA.
O Spring Boot criaria uma configurao de banco de dados integrada para ns. Se voc
quiser saber mais sobre qual configurao automtica est acontecendo, o que
podemos fazer ativar o registro de depurao. O que eu posso fazer ir para propriedades de ponto de aplicativo.
Esse um dos arquivos que est presente aqui.
Vamos falar sobre as propriedades do aplicativo um pouco mais tarde.
Estou ligando o nvel de log. Tudo o que voc precisa fazer dizer
logging dot level dot org dot O Spring Framework igual a debug.
Isso iniciaria o aplicativo em um modo de depurao.
Deixe-me matar isso. Inicie o aplicativo novamente.
Voc pode ver muito mais registros sendo impressos agora.
Muitas coisas esto sendo impressas junto com as quais voc
realmente tem muitos registros sobre a configurao automtica, que impressa aqui.
Ento, isso realmente dir todas as coisas que foram configuradas automaticamente e que no foram configuradas automaticamente.
Ento, est dizendo que a configurao automtica do servlet do dispatcher foi correspondida porque encontrei algo desse tipo no caminho de
classe. Ento
est dizendo, eu encontrei um servlet chamado servlet dispatcher no classpath. Ento eu configurei o servlet do dispatcher automaticamente.
Est dizendo que eu configurei uma configurao automtica MVC de erro. Eu j configurei o controlador de erro padro.
Eu configurei um cache, configurao de cache genrica. Eu configurei o Jackson para fazer a
ligao e tambm a validao automtica.
Voc tambm pode ver que existem coisas como resolvedor de visualizaes e tudo que foi configurado automaticamente.
No s isso, o relatrio de configurao automtica tambm mostra quais
so as coisas que no foram configuradas automaticamente. Ento, ele mostraria
porque as outras coisas da configurao automtica no coincidiam e por que no foram executadas.
Por que os feijes para eles no foram criados.
A configurao automtica um conceito muito importante sobre o Spring Boot. Uma das coisas mais importantes para entender que
voc ainda era um iniciante no Spring Boot e a
configurao automtica algo que vai crescer em voc medida que voc continua construindo mais e mais aplicativos Spring Boot.
Se o conceito completo de configurao automtica no se encaixasse
em sua mente agora, isso no um problema.
Voc definitivamente aprender quando terminar este curso. A configurao automtica uma das coisas
fundamentais pelas quais o Spring Boot to famoso e fcil
de usar. Nesta etapa,
analisamos os conceitos bsicos da configurao automtica.
Analisamos alguns dos beans que foram criados automaticamente
e tambm observamos onde est o cdigo para a configurao automtica do Spring Boot.
At o prximo passo, tchau-tchau.