Assembly One
Do zero ao RISC-V
Java One
Aprenda, evolua, sobreviva e se divirta
Java do zero até uma API REST completa: Spring Boot, PostgreSQL, JPA, validação, JWT, testes e Docker. Um único projeto cresce capítulo a capítulo — nada de exemplos soltos, nada de teoria antes da hora.
Atenção: o idioma desta edição é português.
Edição Brasil
Menos teoria vazia.
Mais código que funciona.
Nada de exemplo solto com foo e bar.
Todo trecho pertence ao mesmo projeto, que cresce capítulo a capítulo —
e os erros aparecem como aparecem na sua tela, para serem lidos linha por linha.
public class App { public static void main(String[] args) { System.out.println("O primeiro programa"); }}
curl -s localhost:8080/products/7{"id":7,"name":"Teclado mecânico","price":349.90}docker compose up -d✔ Container api Started
Um sistema só, do primeiro arquivo ao deploy
README.md
No fim do livro existe um programa rodando. Ele não tem tela nem botão: fica esperando, e quando alguém pergunta a coisa certa, responde — uma API de produtos com cliente, controller, service, repository e PostgreSQL.
Do primeiro println à API REST em produção.
- Um projeto só, crescendo do capítulo 1 ao 42
- Cada conceito aparece quando o projeto precisa dele
- Erros de verdade, lidos linha por linha
- API com validação, segurança, testes e Docker
Leia uma prévia gratuita de Java One
Esta amostra contém os primeiros capítulos. O PDF completo continua protegido para compradores.
42 capítulos em 10 partes
Abra uma parte para ver os capítulos — e a frase que abre cada um.
parte 01 Começando do zeroVocê escreve Java antes de entender Java. A linguagem entra pela porta da prática: compilar, errar, ler o erro, consertar. 6 cap.
-
01
O que vamos construirAntes da primeira linha de código, o destino. Ninguém aprende bem uma viagem sem saber onde ela termina.
-
02
Primeiro programa em JavaDois comandos, um arquivo e a linha mais famosa da programação.
-
03
Variáveis e tiposDeclarar um tipo é contratar um revisor que trabalha de graça.
-
04
Operadores e expressõesO sinal de igual não significa igual, e o sinal de igual duplo engana com texto.
-
05
CondicionaisEscolher um caminho é assumir o outro — inclusive quando ele não está escrito.
-
06
RepetiçõesEscrever a mesma linha dez vezes é um erro de projeto, não de digitação.
parte 02 O Java que você realmente precisaNão a linguagem toda — a parte dela que sustenta uma API. Métodos, coleções, objetos, exceções e streams, na dose exata. 8 cap.
-
07
MétodosDar nome a um trecho de código é a forma mais barata de documentação que existe.
-
08
Arrays e coleçõesArray tem tamanho. Lista tem vida. Mapa tem chave. Escolher errado custa caro.
-
09
Orientação a objetosAté aqui o código tinha verbos soltos. Agora ele ganha substantivos.
-
10
EncapsulamentoEsconder o atributo não é cerimônia: é o que impede o objeto de existir em estado impossível.
-
11
Herança e interfacesHerança é um parentesco que você não pode desfazer. Interface é um contrato que você pode assinar com quem quiser.
-
12
Enums e recordsDois recursos que apagam código: um para o conjunto fechado, outro para o dado puro.
-
13
ExceçõesUm erro tratado é um requisito. Um erro engolido é uma dívida com juros.
-
14
Lambdas e streamsO laço diz como percorrer. O stream diz o que você quer. A segunda frase é mais curta.
parte 03 Entrando no Spring BootO framework que escreve o encanamento por você. E o preço disso: entender quem está chamando o seu código. 3 cap.
-
15
O que é SpringVocê para de criar objetos com new. Em troca, alguém cria por você — e é preciso entender quem.
-
16
O primeiro projeto Spring BootTrês minutos entre um formulário na web e uma aplicação rodando na porta 8080.
-
17
A primeira APIQuatro verbos, um caminho e uma decisão sobre o que devolver em cada caso.
parte 04 Construindo o CRUDA espinha dorsal do livro. Entidade, banco, repositório, serviço, controlador e DTO — nesta ordem, uma camada por vez. 7 cap.
-
18
Modelando a aplicaçãoAntes de escolher a tecnologia, decidir os substantivos. Um modelo errado sobrevive a todas as refatorações.
-
19
Banco de dadosUm lugar onde o dado sobrevive ao desligamento da máquina — e uma linguagem de cinquenta anos que ninguém conseguiu substituir.
-
20
Spring Data JPAUma camada que traduz objeto em linha de tabela. Poderosa, conveniente e cheia de armadilhas que este livro vai nomear.
-
21
RepositoryUma interface vazia que ganha vinte métodos. Vale entender de onde eles vêm antes de confiar neles.
-
22
ServiceA camada onde mora a regra. Se ela estiver vazia, a regra está espalhada em outro lugar — e você vai encontrá-la do jeito difícil.
-
23
ControllerA camada mais fina do sistema — e a única que o cliente vê.
-
24
DTOsO cliente não precisa saber como a sua tabela é desenhada. E você não quer que ele dependa disso.
parte 05 API de verdadeO que separa um CRUD de exercício de uma API que outra pessoa usa: validação, erro honesto, paginação e busca. 4 cap.
-
25
ValidaçãoToda entrada é hostil até prova em contrário — e a prova é uma anotação.
-
26
Tratamento de errosO erro é parte do contrato. Uma API que responde 500 para tudo é uma API que não conta o que aconteceu.
-
27
Paginação e ordenação`GET /products` com um milhão de itens é um ataque de negação de serviço que você escreveu sozinho.
-
28
Filtros e buscasFiltrar no banco é uma consulta. Filtrar em memória é trazer tudo e jogar quase tudo fora.
parte 06 RelacionamentosQuando as tabelas se conhecem, o JPA fica poderoso e perigoso na mesma medida. Aqui está o mapa dos buracos. 2 cap.
-
29
Relacionamentos JPADuas tabelas que se conhecem viram duas classes que se apontam — e é aí que o JPA fica poderoso e perigoso na mesma medida.
-
30
Problemas reais do JPAO ORM faz exatamente o que você mandou. O problema é que você mandou sem saber.
parte 07 SegurançaAutenticação, autorização e um token que diz quem você é sem que o servidor precise lembrar. 3 cap.
-
31
Spring SecurityA API está no ar há três capítulos e qualquer pessoa com a URL apaga qualquer produto.
-
32
JWTUm crachá assinado que o servidor não precisa guardar — e que ele também não consegue cancelar.
-
33
Usuários e permissõesSaber quem é a pessoa é metade do trabalho. A outra metade é decidir o que ela pode fazer.
parte 08 TestesA rede que permite mexer no código sem medo. Unidade, integração e um banco de verdade dentro do teste. 4 cap.
-
34
Testando JavaTeste não é sobre provar que funciona. É sobre poder mexer no código sem medo na sexta-feira.
-
35
Testando servicesPara testar a regra, o banco precisa sair do caminho — e alguém precisa fingir ser ele.
-
36
Testando controllersO contrato HTTP é a única parte do sistema que outra pessoa depende. É a que mais merece um teste.
-
37
Testando o bancoTestar contra um banco diferente do de produção é ensaiar a peça em outro teatro.
parte 09 Documentação e ferramentasUma API que ninguém sabe usar não existe. E um projeto sem histórico não tem volta. 3 cap.
-
38
Swagger e OpenAPIUma API que ninguém sabe usar não existe. E documentação escrita à mão envelhece em uma semana.
-
39
Clientes HTTPA ferramenta importa menos que o hábito de guardar a requisição junto do código que a atende.
-
40
GitO código diz o que o sistema faz. O histórico diz por quê — e é a única parte que você não consegue reconstruir.
parte 10 Projeto finalAgora sem mastigar. Você recebe os requisitos e constrói a loja inteira — e depois a coloca no ar. 2 cap.
-
41
Projeto finalAgora sem mastigar. Você recebe os requisitos e constrói a loja inteira.
-
42
Docker e deployUm programa que só roda na sua máquina é um hobby. O que roda em qualquer máquina é um sistema.
Outros livros da série
Assembly One
Do zero ao RISC-V
C One
Do zero ao básico em sistemas embarcados e IoT
C# One — Volume 1
Fundamentos de C#
C# One — Volume 2
.NET de verdade
COBOL One
Mainframe para o Século XXI
JavaScript One
Do primeiro console.log ao painel em produção
Mensageria One
Mensagens, eventos e processamento assíncrono
Receber a prévia
PHP One — Volume 1
Fundamentos do PHP
PHP One — Volume 2
Acelerando com Laravel
Python One
Do primeiro print à API REST em produção
Ruby One
Do primeiro puts ao contrato em produção
O que leitores dizem sobre Java One
Carregando avaliações deste livro…
Ver todas as avaliações deste livro →Java One
Do primeiro println à API REST em produção. O projeto começa a rodar no primeiro capítulo — e não para mais.
Atenção: o idioma desta edição é português.