A Primavera é um dos frameworks Java EE mais amplamente utilizados. Eu escrevi muito sobre o Tutorial do Spring e este é um post de resumo que funcionará como um índice para percorrê-los todos em ordem.
Tutorial do Spring
Todos os tutoriais do Spring vêm com projetos de exemplo que você pode baixar das páginas de tutorial.
Tutoriais Principais do Spring
O Framework Spring é baseado em dois princípios de design – Injeção de Dependência e Programação Orientada a Aspectos. Por favor, percorra os tutoriais abaixo para aprender sobre os conceitos principais do Spring com exemplos de implementação.
- Framework Spring Uma breve visão da evolução do Framework Spring, sua arquitetura, componentes principais e princípios que orientam o desenvolvimento deste incrível framework.
- Exemplo de Injeção de Dependência em Java Este post fornece os fundamentos da Injeção de Dependência e como podemos implementar o padrão DI em aplicativos Java simples. É um bom ponto de partida e depois podemos avançar para a Injeção de Dependência do Spring.
- Injeção de Dependência do Spring Este tutorial tem como objetivo fornecer um exemplo de injeção de dependência no framework Spring com configuração baseada em anotações e configuração baseada em XML. O tutorial também inclui um programa de teste JUnit para validar a implementação.
- Exemplo de AOP do Spring Este tutorial explica os conceitos básicos da Programação Orientada a Aspectos, como Aspecto, Conselho, Ponto de Corte, Ponto de Junção, Proxy AOP e Entrelaçamento. O tutorial explica sobre diferentes tipos de Conselhos com um programa simples.
- Perfilamento de Método AOP do Spring
- Contêiner Spring IoC e Exemplo de Tutorial de Bean Spring Este tutorial tem como objetivo explicar os conceitos principais do contêiner Spring IoC e do Bean Spring com programas de exemplo. O tutorial explica sobre o Contêiner IoC e suas classes principais e diferentes maneiras de criar
ApplicationContext
. O tutorial também explica sobre o Bean Spring, os escopos do Bean Spring, diferentes maneiras de configurar o bean Spring – XML, anotação, baseado em Java através de um projeto de exemplo. - Escopos do Bean Spring Os escopos do Bean Spring nos permitem ter um controle mais granular da criação das instâncias do bean.
- Exemplo de Autowiring de Bean Spring O contêiner Spring IoC é inteligente o suficiente para descobrir o bean para injetar dependências através do atributo “spring autowire”. Este tutorial explica sobre diferentes tipos de autowiring com um projeto de exemplo.
- Ciclo de Vida do Bean Spring Os Spring Beans são a parte mais importante de qualquer aplicação Spring. O ApplicationContext do Spring é responsável por inicializar os Spring Beans definidos no arquivo de configuração de beans Spring. Este tutorial explica diferentes formas pelas quais podemos fornecer métodos de pós-inicialização e pré-destruição em um bean Spring – interfaces InitializingBean/DisposableBean ou atributos init-method/destroy-method. O framework Spring também suporta as anotações
@PostConstruct
e@PreDestroy
para definir métodos de pós-inicialização e pré-destruição. Essas anotações fazem parte do pacotejavax.annotation
. Você também aprenderá sobre as interfaces Spring Aware que podem ser usadas para injetar objetos da API Servlet no bean Spring. - Spring 5 O Spring 5 foi lançado no final de 2017. O Spring 5 traz uma atualização massiva para o framework Spring.
- Spring WebFlux O Spring WebFlux é o novo módulo introduzido no Spring 5. O Spring WebFlux é o primeiro passo em direção ao modelo de programação reativa no framework Spring.
- Spring Data JPA Spring Data JPA faz parte da família Spring Data. Spring Data facilita a criação de aplicações Spring que utilizam novas formas de acesso a dados, como bancos de dados não relacionais, frameworks de map-reduce, serviços em nuvem, bem como suporte avançado a bancos de dados relacionais.
Anotações Spring
- Anotações Spring Um breve olhar sobre as anotações mais importantes no framework Spring.
- Spring @Bean A anotação @Bean do Spring é aplicada em um método para especificar que ele retorna um bean a ser gerenciado pelo contexto do Spring. A anotação Spring Bean é geralmente declarada em métodos de classes de configuração.
- Spring @Service A anotação @Service do Spring é uma especialização da anotação @Component. A anotação Spring Service só pode ser aplicada a classes. É usada para marcar a classe como um provedor de serviço.
- Spring @Component A anotação @Component do Spring é usada para denotar uma classe como Componente. Isso significa que o framework Spring autodetectará essas classes para injeção de dependência quando a configuração baseada em anotações e a varredura do classpath forem usadas.
- Spring @RestController A anotação @RestController do Spring é uma anotação de conveniência que por si só é anotada com @Controller e @ResponseBody. Essa anotação é aplicada a uma classe para marcá-la como manipulador de requisições.
- Spring @Controller A anotação @Controller do Spring é uma especialização da anotação @Component. A anotação @Controller do Spring é tipicamente usada em combinação com métodos manipuladores anotados com base na anotação RequestMapping.
- Spring @Repository A anotação @Repository do Spring é usada para indicar que a classe fornece o mecanismo para operações de armazenamento, recuperação, busca, atualização e exclusão de objetos.
- A anotação @Configuration do Spring faz parte do framework principal do Spring. A anotação de Configuração do Spring indica que a classe possui métodos de definição de @Bean. Assim, o contêiner do Spring pode processar a classe e gerar Spring Beans para serem usados na aplicação.
- A anotação @Value do Spring é usada para atribuir valores padrão a variáveis e argumentos de método. Podemos ler variáveis de ambiente do Spring, bem como variáveis do sistema usando a anotação @Value.
- A anotação @PropertySource do Spring é usada para fornecer um arquivo de propriedades ao Ambiente do Spring. Esta anotação é usada com classes @Configuration.
- Spring @PostConstruct e @PreDestroy Quando anotamos um método em um Bean do Spring com a anotação @PostConstruct, ele é executado após a inicialização do bean do Spring. Quando anotamos um método do Bean do Spring com a anotação PreDestroy, ele é chamado quando a instância do bean está sendo removida do contexto.
- Spring @Async A anotação @Async do Spring nos permite criar métodos assíncronos no Spring. Vamos explorar @Async neste tutorial sobre o framework Spring.
Tutoriais Spring Boot
- Tutorial Spring Boot
- Componentes Spring Boot
- Spring Boot @SpringBootApplication, Classe SpringApplication A anotação Spring Boot @SpringBootApplication é usada para marcar uma classe de configuração que declara um ou mais métodos @Bean e também aciona a autoconfiguração e a varredura de componentes. A classe SpringApplication do Spring Boot é usada para inicializar e lançar uma aplicação Spring a partir de um método principal em Java.
- Spring Boot REST Este tutorial explica como criar serviços web REST usando o módulo Spring Boot.
- Spring Boot MongoDB Aprenda como usar o MongoDB em uma aplicação Spring Boot.
- Spring Boot Redis Cache Este artigo explica como integrar o Redis Cache em uma aplicação Spring Boot.
- Spring Boot Elasticsearch Este artigo explica como integrar o Elasticsearch com uma aplicação Spring Boot.
- Endpoints do Spring Boot Actuator Os Endpoints do Spring Boot Actuator nos permitem monitorar e interagir com nossa aplicação. O Spring Actuator é um submódulo do Spring Boot e fornece endpoints integrados que podemos habilitar e desabilitar para nossa aplicação.
- Interface Web do Spring Boot Initializr
- Exemplo de CLI do Spring Boot
- Spring Boot – Não é possível determinar a classe do driver do banco de dados embutido para o tipo de banco de dados NENHUM
- Perguntas de Entrevista do Spring Boot
Tutorial do Spring MVC
- Tutorial do Spring MVC para Iniciantes com Spring Tool Suite Os módulos do Spring MVC nos ajudam a criar aplicativos web baseados em Java. Este é o primeiro post na série Spring MVC e você aprenderá como usar o Spring Tool Suite (STS) e criar uma aplicação Web simples usando o framework Spring MVC.
- Exemplo do Spring MVC Este tutorial explica como criar uma aplicação Spring MVC usando o Maven e o Eclipse IDE, sem utilizar o Spring Tool Suite.
- Exemplo de Serviço Web Restful do Spring com JSON O Framework Spring fornece suporte integrado para a API Jackson JSON e podemos utilizá-lo para criar um serviço web restful que retornará uma resposta JSON. Este tutorial explica todas as diferentes partes da aplicação que são necessárias para configurar nossa aplicação para retornar uma resposta JSON e implementar a API Rest.
- Spring REST XML e JSON O Spring REST suporta mensagens de solicitação-resposta baseadas tanto em XML quanto em JSON. Este tutorial explica como podemos facilmente suportar ambos usando configurações simples.
- RestTemplate do Spring O RestTemplate do Spring fornece uma maneira conveniente de testar serviços web RESTful. Podemos usar o RestTemplate para testar serviços web restful baseados em HTTP, ele não suporta o protocolo HTTPS.
- Exemplo de Upload de Arquivo com Spring MVC O upload de arquivos é uma das tarefas comuns de uma aplicação web, por isso o Spring oferece suporte integrado para upload de arquivos através da integração da API Apache Commons FileUpload. Este tutorial tem como objetivo fornecer uma compreensão de como diferentes componentes são configurados com um exemplo de upload de arquivos únicos e múltiplos.
- Exemplo de Internacionalização e Localização com Spring MVC Para qualquer aplicação web com usuários ao redor do mundo, a internacionalização (i18n) ou localização (L10n) é muito importante para uma melhor interação do usuário. A maioria dos frameworks de aplicação web oferece formas fáceis de localizar a aplicação com base nas configurações de idioma do usuário. O Spring também segue esse padrão e oferece amplo suporte para internacionalização (i18n) através do uso de interceptadores do Spring, resolvedores de localidade e pacotes de recursos para diferentes localidades. Este tutorial explica o processo de i18n e l10n em uma aplicação web Spring através de um projeto de exemplo.
- Exemplo de Validação de Formulário Spring MVC Quando aceitamos entradas do usuário em qualquer aplicação web, torna-se necessário validá-las. Podemos validar a entrada do usuário no lado do cliente usando JavaScript, mas também é necessário validá-las no lado do servidor para garantir que estamos processando dados válidos no caso de o usuário ter o JavaScript desativado. O Framework Spring MVC suporta as especificações JSR-303 por padrão, e tudo o que precisamos fazer é adicionar JSR-303 e suas dependências de implementação na aplicação Spring MVC. O Spring também fornece a anotação @Validator e a classe
BindingResult
, por meio das quais podemos obter os erros gerados pela implementação do Validator no método do manipulador de solicitações do controlador. O tutorial fornece um exemplo de validação de formulário usando anotações e também explica o processo para criar nosso próprio validador personalizado. - Tratamento de Exceção no Spring MVC Qualquer aplicação web requer um bom design para o tratamento de exceções, porque não queremos servir uma página gerada pelo contêiner quando ocorre qualquer exceção não tratada em nossa aplicação. O Framework Spring MVC fornece uma abordagem para um tratamento robusto de exceções em classes de controladores, no Manipulador Global de Exceções e por meio da implementação do HandlerExceptionResolver. Confira o projeto de exemplo no tutorial para aprender mais sobre o tratamento de exceções no Spring MVC.
- Exemplo de Interceptores Spring MVC Às vezes, queremos interceptar a solicitação HTTP e realizar algum processamento antes de entregá-la aos métodos do manipulador do controlador. É aí que os Interceptadores Spring MVC são úteis. Podemos criar nossos próprios interceptadores no Spring, seja implementando a interface org.springframework.web.servlet.HandlerInterceptor ou sobrescrevendo a classe abstrata org.springframework.web.servlet.handler.HandlerInterceptorAdapter, que fornece a implementação básica dessa interface. Confira o projeto de exemplo no tutorial para aprender mais sobre os interceptadores do Spring MVC.
- Exemplo de Mapeamento de Solicitação Spring MVC @RequestMapping é uma das anotações mais amplamente utilizadas no Spring MVC. A anotação
org.springframework.web.bind.annotation.RequestMapping
é usada para mapear solicitações da web para classes de manipuladores e/ou métodos de manipuladores específicos. @RequestMapping pode ser aplicado tanto à classe do controlador quanto aos métodos. Este tutorial explica diferentes usos com exemplos e programa de teste. - Gerenciamento de Sessão do Spring O Módulo de Sessão do Spring fornece APIs e implementação para gerenciar a sessão do usuário em uma aplicação web. O Spring Session desacopla a lógica de gerenciamento de sessão da aplicação, tornando-a mais tolerante a falhas. O Spring Session é composto pelos seguintes módulos: Spring Session Core, Spring Session JDBC, Spring Session Data Redis e Spring Session Hazelcast.
- Exemplo de Spring MVC com Gradle
Tutoriais do Spring Batch
- Spring Batch O Spring Batch nos permite processar facilmente um grande número de registros criando lotes. Este artigo explica o que é o Spring Batch, sua arquitetura e quando usar a aplicação do Spring Batch.
- Exemplo de Spring Batch Este tutorial explica como criar um projeto Spring Batch para processar grandes arquivos CSV.
Tutorial do Spring JDBC
A maioria das aplicações empresariais lida com bancos de dados relacionais. É por isso que o Spring oferece amplo suporte para a API JDBC e também fornece wrappers para realizar operações de CRUD no banco de dados.
- Spring JDBC e JdbcTemplate CRUD com Exemplo de DataSource O Spring Framework oferece uma excelente integração com a API JDBC e disponibiliza a classe de utilidade JdbcTemplate, que podemos utilizar para evitar código redundante em nossa lógica de operações de banco de dados, como Abrir/Fechar Conexão, ResultSet, PreparedStatement, etc. Este tutorial fornece um exemplo de operações de CRUD usando a integração do Spring JDBC.
- Spring DataSource JNDI com Exemplo no Tomcat Também sabemos que o uso de DataSource com JNDI é a maneira preferida de alcançar o pooling de conexões e obter os benefícios das implementações de contêiner. Este tutorial explica como podemos usar o DataSource definido no contêiner Tomcat como um recurso JNDI para obter conexão com o banco de dados e realizar diferentes operações. Esta é a maneira preferida de obter conexões de banco de dados em uma aplicação web Spring, pois o contêiner cuida da gestão dos recursos do banco de dados.
- Exemplo de Gerenciamento de Transações na Primavera com JDBC O Gerenciamento de Transações é uma tarefa trivial em qualquer aplicativo empresarial. O Spring fornece amplo suporte para gerenciamento de transações e ajuda os desenvolvedores a focarem mais na lógica de negócios do que se preocuparem com a integridade dos dados. O gerenciamento de transações declarativo do Spring é a abordagem preferida para o gerenciamento de transações, porque é muito fácil de usar e não há dependência direta, ele utiliza AOP e injeção de dependência.
- Spring JdbcTemplate A classe Spring JdbcTemplate é o núcleo do módulo JDBC do Spring. Ela fornece vários métodos para executar consultas SQL, ler dados do conjunto de resultados, etc.
Tutorial Spring Hibernate
O Spring é um dos frameworks Java EE mais amplamente utilizados e o Hibernate é o melhor framework ORM do mercado. Por isso, o Spring fornece suporte integrado para o Hibernate no módulo Spring ORM.
- Exemplo de Integração Spring Hibernate Este tutorial fornece detalhes completos com um exemplo para integrar o Hibernate com um aplicativo independente do Spring. O exemplo mostra a integração entre Spring 4 + Hibernate 4, bem como Spring 4 + Hibernate 3.
- Exemplo de CRUD do Spring MVC com Hibernate O Spring MVC pode ser facilmente integrado com o framework Hibernate. Além disso, podemos utilizar o gerenciamento de transações declarativo do Spring, o que torna nossa aplicação livre de código desnecessário.
- Exemplo do Spring ORM
- Spring ORM com Gerenciamento de Transações AOP
Tutorial do Spring Security
O Spring Security pode ser aplicado a qualquer aplicativo web Java, funciona como uma parte separada da aplicação e fornece diferentes formas de autenticação e autorização.
- Segurança do Spring em Aplicativos Web Servlet Este tutorial explica os conceitos básicos do módulo de segurança do Spring. Ele também fornece um exemplo de autenticação em memória, DAO e baseada em JDBC com um projeto de exemplo.
- Exemplo de Segurança Spring MVC Se estivermos usando o framework Spring MVC, aplicar segurança spring é muito fácil porque já temos configurações baseadas em Spring. Tudo o que precisamos fazer é inserir as configurações relacionadas à segurança.
- Segurança Spring 4 Este artigo explica sobre o módulo de Segurança Spring introduzido no Spring 4.
- Segurança Spring MVC Este artigo explica como usar a segurança Spring em uma aplicação Spring MVC.
- Autorização de Acesso Baseada em Função Spring Security
Tutoriais de Integração Spring
- Exemplo de Tutorial de Integração Spring JSF JSF é um framework baseado em componentes com grande ênfase em interfaces de usuário, enquanto o princípio fundamental do Spring é a injeção de dependência. Este tutorial explica como obter o melhor desses mundos integrando JSF com o Framework Spring.
- Exemplo Tutorial de Integração Primefaces Spring & Hibernate Este é um dos exemplos de integração onde explicamos como integrar o PrimeFaces com o framework Spring e Hibernate. Esta é uma combinação muito comum para tirar o máximo proveito de cada um dos frameworks.
- Exemplo de Integração PrimeFaces Hibernate SpringRoo O SpringRoo é uma ferramenta de software de código aberto que utiliza o conceito de convenção sobre configuração para facilitar a produção de aplicativos de software empresarial baseados em Java de forma orientada por linha de comando. Este tutorial explica sobre a integração entre SpringRoo, PrimeFaces e os frameworks Hibernate.
Mensagens do Spring
Perguntas de entrevista da Primavera
Se você está indo para uma entrevista de Java EE onde Spring é um requisito, espero que este post ajude você a atualizar seu conhecimento rapidamente. Isso é tudo para os tutoriais da Primavera por agora. O Framework Spring tem muitos módulos e estarei postando sobre eles no futuro e continuarei incluindo-os aqui. Então, eu sugeriria que você marcasse este post para referências futuras.
Source:
https://www.digitalocean.com/community/tutorials/spring-tutorial-spring-core-tutorial