Java Flashcards
Conteúdos da linguagem e frameworks
O que é anotações no Java
“Uso do @ no Java”
As anotações tem como função, passar uma informação para o compilador do java, e também para o leitor do código, pois vai indicar para ambos a funcionalidade que está envolvendo determinado objeto.
É uma configuração no código JAVA
Por que surgiu a anotação no Java
Surgiu como uma alternativa ao uso do XML, onde no próprio código, é possível realizar as configurações no código, sem precisar de um arquivo separado para fazer uma configuração de chave Valor. Exemplo:
Essa classe é a controller; Essa classe é a model; Essa classe faz conexões com o DB;
Qual a diferença do XML para o uso de anotações?
O uso do XML requer um arquivo extra para a configuração, enquanto as anotações nos permite fazer isso no mesmo arquivo. No XML, estamos mais sucintos a erros, pois o compilador nos auxilía quando uma anotação está errada, já no XML, por padrão, não temos essa ajuda.
Outra vantagem é que o uso de algumas anotações são implícitas e/ou não obrigatórias, diferentemente do XML.
Quem faz as leituras das anotações e faz esses usos?
O hibernate é a biblioteca que faz a leitura dessas anotações. Com isso o hibernate vai saber o que fazer com essas anotações e vai realizar as anotações.
Frameworks como o Spring, tem suas anotações na qual vai ser usado para realizar configurações de controle, mapeamento, de requests https, etc…
Existe tipos diferentes de anotações?
As anotações podem ser tanto para o Javadoc, tanto para bibliotecas e também para o compilador. Algumas anotações vai para a maquina virtual. Já temos algumas anotações que são para o compilador do Java. Exemplo:
@Override -> Essa anotação vai dizer para o compilador que aquele método está sendo sobrescrito
É possível escrever as nossas proprias anotações?
Sim, mas na maior parte dos casos não é necessário. Vai depender da necessidade do projeto. Exemplo: Quando você estiver escrevendo uma bibilioteca que precisar fazer o uso dessas informações.
Mas na maior parte dos casos, não é necessário.
Sintaxe para criar uma anotação
public @interface minhaAnotação {
}
Dessa forma, podemos criar nossa propria anotação.
O que é uma API?
Api é Aplication programming interface, que nada mais é uma forma genérica de conectar componentes do nosso software. Então temos a API para que possamos conectar partes diferentes do nosso sistemas, até sistemas diferentes, o mesmo sistema, etc.
API Não é usada somente no desenvolvimento WEB
as API são usadas em diversos outras áreas da técnologia além do desenvolvimento web. Exemplo: no desenvolvimento mobile, temos uma API que nos disponibiliza o acesso a câmera. Com isso não iremos precisar fazer todo o código de acesso a câmero do zero, pois o sistema operacional já disponibiliza essa API. isso resulta também em melhor segurança, melhor uso do tempo por nao ter que criar algo do zero.
O que é o lombok?
Lomlok é uma biblioteca no java que tem como finalidade reduzir os códigos boilerplate, e implementar Metodos como gets e sets automaticamente para o compilador (maven). Através de anotações no código, podemos passar essa informação e aumentar a produtividade.
O que é o record no java?
Basicamente é uma classe java, onde não vai ter um construtor vazio, apenas tem o construtor com todos os atributos e também não temos metodo getter e setters. Por conta disso, a unica forma de settar os valores é através do construtor, pois uma vez que você instanciou a record, não é possível alterar seus atributos
A record é uma classe imutável do java
As records não possuem getters e setter, apenas é possível passar as informações no construtor e com isso, após instanciada, não é possível alterar o valor de seus atributos.
Como podemos acessar os valores das records?
Por conta de não termos a disponibilidade dos getters, conseguimos apenas pegar os valores da seguinte maneira: minhaRecord.meu_atributo()
Sintaxe para criar uma record
public record minhaRecord() {
//code
}
A classe record pode extender outras classes?
As records não podem extender outras classes pois ela implicitamente extendem a classe de um tipo específico no java: A classe Record, por conta disso não é possível extender outras classes na nossa Record, mas podemos implementar