Porque, com Spring, você também usa tecnologias que estão dentro do Java EE
Mas existem programadores que preferem trabalhar com os projetos do Spring, e outros que
preferem trabalhar com as especificações do Java EE, sem Spring
O Spring Framework
o Spring Framework é apenas um, dentre o conjunto de projetos, que o Spring possui
Ele é o projeto do Spring que serve de base para todos os outros, talvez por isso haja essa pequena
confusão
regra de negócio e menos na infraestrutura
O Spring MVC
é um framework para criação de aplicações web e serviços RESTful
é o framework que te ajuda no desenvolvimento de aplicações web robustas, flexíveis e com
uma clara separação de responsabilidades nos papéis do tratamento da requisição
é acrônimo de Model, View e Controller
o Controller tratando a requisição. Ele é o primeiro componente que nós vamos programar para
receber os dados enviados pelo usuário
Mas é muito importante estar atento e não cometer erros adicionando regras de negócio, acessando
banco de dados ou fazendo validações nessa camada, precisamos passar essa responsabilidade para o
Model
model
No Model, pensando em algo prático, é o local certo para usarmos o JPA/Hibernate para salvar ou
consultar algo no banco de dados, é onde iremos calcular o valor do frete para entrega de um
produto, por exemplo
View
A View irá “desenhar”, renderizar e transformar em HTML esses dados, para que o usuário consiga
visualizar a informação, pois enquanto estávamos no Controller e no Model, estávamos
programando em classes Java, e não em algo visual para o browser exibir ao usuário
1. Acessamos uma URL no browser, que envia a requisição HTTP para o servidor que roda a
aplicação web com Spring MVC. Esse servidor pode ser o Apache Tomcat, por exemplo.
Perceba que quem recebe a requisição é o controlador do framework, o Spring MVC. 2. O
controlador do framework irá procurar qual classe é responsável por tratar essa
requisição, entregando a ela os dados enviados pelo browser. Essa classe faz o papel do
controller. 3. O controller passa os dados para o model, que por sua vez executa todas as
regras de negócio, como cálculos, validações e acesso ao banco de dados. 4. O resultado das
operações realizadas pelo model é retornado ao controller. 5. O controller retorna o nome
da view, junto com os dados que ela precisa para renderizar a página. 6. O framework
encontra a view, que processa os dados, transformando o resultado em um HTML. 7.
Finalmente, o HTML é retornado ao browser do usuário
Suporte para JDBC, JPA
grave ou consulte algum banco de dados.
Injeção de dependencias (Dependency injection – DI)
é um tipo de inversão de controle (ou Inversion of Control – IoC) que dá nome ao processo
de prover instâncias de classes que um objeto precisa para funcionar
programar voltados para interfaces
@Autowired
A anotação @Autowired avisa ao Spring Framework para injetar uma instância de alguma
implementação da interface RepositorioCliente na propriedade repositorio