As novidades do Spring Boot 3

Vamos lá amigos, o Spring Boot 3 chegou, e com isso a gente tem algumas coisas novas que pode explorar em nossos projetos, então que tal darmos uma olhada nisso. Se isso lhe interessou, vem comigo.

1. Java17

A primeira grande mudança e novidade do Spring Boot 3 é que ele além de suportar 100% o Java 17, ele passa a exigir o Java 17 como a versão mínima para rodar. Então meus amigos, é chegada a hora de darmos upgrades em nossos ambientes. E com isso , e com isso tem algumas coisinhas que a gente consegue já usar de vantagem.

1.1 Record

O Java 14 trouxe essa para nós, e eu já até falei a respeito disso aqui:

E isso é uma baita melhoria, já que não precisamos mais escrever vários getters e setters. E principalmente, esse cara ajuda a diminuir a dependencia do Lombok em nossos projetos, e alias, o Records inclusive funciona um pouco diferente do @Data do Lombok, e eu já falei a respeito disso aqui também.

1.2 Text blocks

Text blocks foram introduzidos no Java 13 e na versão final a partir do Java 15. E isso nos ajuda a criar strings de multiplas linhas de maneira mais eficiente.

1.3 Switch expression

Switch expressions foram introduzidas no Java 12 e na versão final a partir do Java 14.

E esse novo switch contém duas features matadoras, que permite que o case use multiplas constantes, e sempre vai ter um valor de retorno. A nova sintaxa de x-> é muito mais consisa de usar e elimina o erro de esquecer de colocar o break em cada case.

String nome = "Sergio";
int retorno = switch (nome) {
  case "A" -> 1;
  case "Sergio", "Lopes" -> 2;
  default -> 0;
};

1.4 Pattern Matching Pattern Matching

Pattern matching agora simplifica o uso do instanceof.

Object helloWorld = "Está funcionando";

        if (helloWorld instanceof String s) {
            return s.toLowerCase();
        } else {
            return "Não detectou ....";
        }

E da para usar até em Switch case:

static double getDoubleUsingSwitch(Object o) {
    return switch (o) {
        case Integer i -> i.doubleValue();
        case Float f -> f.doubleValue();
        case String s -> Double.parseDouble(s);
        default -> 0d;
    };
}

1.5 Sealed sealed class

As classes seladas foram introduzidas Java 15 e se torna padrão no Java 17, e já falamos disso aqui.

A principal função da classe selada é te dar o controle sobre a herança da classe. Veja ai um exemplo:

public abstract sealed class Teste permits Teste1, Teste2 {

    public abstract void doSomething();
}

public non-sealed class Teste1 extends Teste{
    @Override
    public void doSomething() {
        System.out.println("Teste1 fez algo");
    }
}

public non-sealed class Teste2 extends Teste{
    @Override
    public void doSomething() {
        System.out.println("Teste 2 fez algo");
    }
}

2. Jakarta EE 9 e 10

Outra mudança importante é que agora ele suporta o JakartaEE 10, usando as especificações Servlet 6.0 e JPA 3.1 por padrão.

Então tudo que antes era tipo javax.servlet no pacote agora passar a ser jakarta.servlet. E a maioria dos seus importes para javax só vai precisar trocar para jakarta que vão funcionar sem precisar fazer nada.

3. Spring Native

Spring Native eu acho que é o maior upgrade nessa versão. Usando a GraalVM para complicar a aplicação em um arquivo de execução local. E isso dá um ganho espetacular para a velocidade de StartUp, performace e uso de memória.

Do jeito tradicional compilamos para bytecode, e a JVM interpreta para código de maquina e executa, já o Spring Native compila para código nativo usando AOT e você tem a execução direta do Runtime. Tem vários pontos de vantagem, e eu recomendo você ler outro artigo meu a respeito para entender os prós e contras.

5. Outros upgrades

Spring Boot 3 claro vai trazer o Spring 6 e vai te permitir também usar :

• Kotlin 1.7+

• Lombok 1.18.22+ (JDK17 support version)

• Gradle 7.3+

6. Veja um pouco mais de detalhes

E para mostrar isso um pouco mais, tem um vídeo aqui no canal para ajudar a entender um pouco mais e dar alguns detalhes a mais:


E não esquece, se não está seguindo o canal, segue a gente lá, ajuda o canal a crescer a gente fazer ainda mais conteúdo bacana.

Publicado por

serlopes

Nerd, geek, músico de garagem, gamer e pai. Curte tudo que envolve esse universo maravilhoso e muita música, desde que seja de qualidade.

2 comentários em “As novidades do Spring Boot 3”

Deixe um comentário