Olá,
No dia 14 de Janeiro saiu uma nova versão do spring e como é um costume que tento seguir por aqui, vou pontuar os pontos que julgo serem os mais importantes. Claro que o vídeo da própria spring acima é a principal fonte para saber as mudanças a fundo.
O esquema de versionamento mudou
Antigamente as versões sempre tinham o sufixo .RELEASE no nome, por exemplo: 2.3.3.RELEASE. Agora isso não vai mais acontecer, sendo que ficará mais simples: 2.3.4.
https://spring.io/blog/2020/04/30/updates-to-spring-versions
JUNIT VINTAGE ENGINE
Antes dessa release a “vintage engine” era incluida no starter: spring-boot-starter-test, o que fazia com que testes de execução escritos em Junit 4 rodassem facilmente na JUnit 5, no entando agora a engine já não será mais incluida, devendo portanto o desenvolvedor declarar explicitamente.
<dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> </exclusion> </exclusions> </dependency>
JAVA 15
Agora o spring já está com o suporte ao Java 15 100%, e o Java 8 vira a versão minima suportada. Com relação ao Java 15 não poderia deixar de compartilhar uma análise do site Baeldung:
https://www.baeldung.com/java-15-new
LOGS DE INICIALIZAÇÂO
Agora já temos disponível um log de inicialização pelo actuator, um novo endpoint POST chamado /actuator/startup
$ curl 'http://localhost:8080/actuator/startup' -i -X POST
HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 907
{
"springBootVersion" : "2.4.0",
"timeline" : {
"startTime" : "2020-11-12T13:59:10.667Z",
"events" : [ {
"startupStep" : {
"name" : "spring.boot.application.starting",
"id" : 1,
"parentId" : 0,
"tags" : [ {
"key" : "mainApplicationClass",
"value" : "com.example.startup.StartupApplication"
} ]
},
"startTime" : "2020-11-12T13:59:10.755644578Z",
"endTime" : "2020-11-12T13:59:10.755934253Z",
"duration" : "PT0.000289675S"
}, {
"startupStep" : {
"name" : "spring.beans.instantiate",
"id" : 2,
"parentId" : 0,
"tags" : [ {
"key" : "beanName",
"value" : "homeController"
} ]
},
"startTime" : "2020-11-12T13:59:10.755979603Z",
"endTime" : "2020-11-12T13:59:10.755986027Z",
"duration" : "PT0.000006424S"
} ]
}
}
https://docs.spring.io/spring-boot/docs/2.4.0/actuator-api/htmlsingle/#startup
MELHORIAS NO SUPORTE AO DOCKER e BUILDPACK
No passado eu falei sobre o novo plugin: spring-boot:build-image
, agora além de gerar a imagem ele também pode publicar num repositorio (Registry), isso é excelente, menos um step nos seus builds.
Por falar em repositorio, esse projeto da CNCF é bem promissor
Abrcs.
Natanael Fonseca