robsoncalixto / study-java

Repositório criado para estudar a linguagem java e seus detalhes.
MIT License
0 stars 0 forks source link

Guia de estudo java #6

Open dfpinto opened 4 years ago

dfpinto commented 4 years ago

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

dfpinto commented 4 years ago

Camadas da Aplicacao.docx