Java na prática - Aula 1
1) Criando um projeto do zero
1.1 Usando IDE / usando maven project
1.2 Usando o próprio site do spring start e importando o zip gerado
start.spring.io
1.3 Importância do pom.xml para controle de dependência.
1.3.1 Tag parente no pom.xml.
2) Motor de arranque do spring boot: @SpringBootApplication e seu método main.
3) Criando o famoso "Alô Mundo!" para testar a execução do spring com um controller: @RestController
3.1 Em qual pacote criar? br.com.studyjava.javanapratica.controller ou resource?
3.2 Criando o primeiro método mapeado: @RequestMapping("/")
3.3 Para que serve a anotação @RequestBody:
Não direcionar para uma view (jsp).
4) Criando as classes de domínio (model):
Usuario(id, nome, email, senha)
Beneficiario(id, situacao, Pessoa.id, List.id)
Pessoa(id, nome, sexo, data_nascimento, cpf)
Endereco (id, logradouro, numero, bairro, municipio, estado)
Situacao (ATIVO, EXCLUIDO)
4.1 HashCode, getters e setters
5) Vamos criar nosso primeiro controller para retornar uma lista de beneficiários
5.1 Usando a classe "mão na roda" Arrays.asList()
5.2 Porque o retorno é json? Spring => Jackson
5.3 É possível devolver em outro formato? Sim. @GetMapping(produces = MediaType.APPLICATION_XML_VALUE)
5.4 É legal devolver uma classe para o browser? Será que deveríamos criar uma representação da classe? Use DTO
5.4.1 Vamos criar o BeneficiarioDTO
5.4.2 Criando construtor para compor o DTO a partir da Entity.
5.5 Vou ter que repetir o @RequestBody em todo mapeamento? @RestController
5.6 Converter uma lista de Entity em uma lista de DTO.
5.7 Habituando com lambda e method reference do java 8
5.7.1 Então vamos criar um conversor na classe DTO para devolver uma lista de beneciciarioDTO a partir de nossa classe Beneficiario.
5.7.2 Exemplo:
public List<BeneficiarioDTO> converter(List<Beneficiario> beneficiarios) {
return beneficiarios.stream().map(b -> new BeneficiarioDTO(b)).collect(Collectors.toList());
ou
return beneficiarios.stream().map(BeneficiarioDTO::new).collect(Collectors.toList()); }
Para cada beneficiario, ele vai chamar o construtor do DTO, passando o beneficiario como parâmetro. No final, tenho que transformar isso em uma lista, então vou encadear a chamada para o método collect.
6) Recompilando e reiniciando o spring com detecção de mudança: usando a dependência devtools
Java na prática - Aula 1 1) Criando um projeto do zero 1.1 Usando IDE / usando maven project 1.2 Usando o próprio site do spring start e importando o zip gerado start.spring.io 1.3 Importância do pom.xml para controle de dependência. 1.3.1 Tag parente no pom.xml. 2) Motor de arranque do spring boot:.id)
Pessoa(id, nome, sexo, data_nascimento, cpf)
Endereco (id, logradouro, numero, bairro, municipio, estado)
Situacao (ATIVO, EXCLUIDO)
4.1 HashCode, getters e setters
5) Vamos criar nosso primeiro controller para retornar uma lista de beneficiários
5.1 Usando a classe "mão na roda" Arrays.asList()
5.2 Porque o retorno é json? Spring => Jackson
5.3 É possível devolver em outro formato? Sim.
@SpringBootApplication
e seu método main. 3) Criando o famoso "Alô Mundo!" para testar a execução do spring com um controller:@RestController
3.1 Em qual pacote criar? br.com.studyjava.javanapratica.controller ou resource? 3.2 Criando o primeiro método mapeado:@RequestMapping("/")
3.3 Para que serve a anotação@RequestBody
: Não direcionar para uma view (jsp). 4) Criando as classes de domínio (model): Usuario(id, nome, email, senha) Beneficiario(id, situacao, Pessoa.id, List@GetMapping(produces = MediaType.APPLICATION_XML_VALUE)
5.4 É legal devolver uma classe para o browser? Será que deveríamos criar uma representação da classe? Use DTO 5.4.1 Vamos criar o BeneficiarioDTO 5.4.2 Criando construtor para compor o DTO a partir da Entity. 5.5 Vou ter que repetir o@RequestBody
em todo mapeamento?@RestController
5.6 Converter uma lista de Entity em uma lista de DTO. 5.7 Habituando com lambda e method reference do java 8 5.7.1 Então vamos criar um conversor na classe DTO para devolver uma lista de beneciciarioDTO a partir de nossa classe Beneficiario. 5.7.2 Exemplo:Para cada beneficiario, ele vai chamar o construtor do DTO, passando o beneficiario como parâmetro. No final, tenho que transformar isso em uma lista, então vou encadear a chamada para o método collect. 6) Recompilando e reiniciando o spring com detecção de mudança: usando a dependência devtools