Spring Boot erreicht mit dem Release des RC1 einen weiteren wichtigen Meilenstein.
Portierung auf 2.0
Wenn eine Anwendung von einem älteren Releasestand auf 2.0.0 portiert werden soll, so haben sich wahrscheinlich einige der Properties geändert. D.h. sie sind zum Beispiel entfallen oder wurden durch andere ersetzt. Ja alle Änderungen sind in den Milestones dokumentiert oder man kann den Migrationcheck verwenden, aber trotzdem wird es vorkommen nicht alles berücksichtig wird.
Abhilfe schafft das neue Modul deprecated properties support.
org.springframework.boot:spring-boot-deprecated-properties-support
Wird dieses als Abhängikeit in den Classpath mit aufgenommen, so kann es teileweise Ersetzungen vornehmen und veraltete Properties in dem Log ausgeben.
Änderungen PatternMatching bei RequestMappings
Eine Anfrage “GET /projects/spring-boot.json” wird nicht mehr automatisch auf @GetMapping(“/projects/spring-boot”) gemappt, da es in der Vergangenheit oft Probleme mit der Zuordnung gegeben hat und es dadurch ggf. Sicherheitslücken auftreten können. Aus diesem Grunde wurde im RC1 das Feature abgeschaltet und darauf verwiesen den Best Practiceses zu folgen.
Beispiel
/pets.json
@GetMapping(path = "/pets/{petId}", produces = "application/json;charset=UTF-8")
@ResponseBody
public Pet getPet(@PathVariable String petId) {
// ...
}
@PostMapping(path = "/pets", consumes = "application/json")
public void addPet(@RequestBody Pet pet) {
// ...
}
Actuator
Actuator mappings
Der Endpoint /actuator/mappings wurde komplett überarbeitet und das JSON angepasst, sodass die Context Hierachie abgebildet werden kann.
Endpunkt /actuator/trace wurde umbenannt
Der Endpunkt /actuator/trace wurde in /actuactor/httptrace umbenannt. Es wurden auch einige Änderungen vorgnommen, um den HTTP Request Austausch besser abzubilden (siehe).
Konfiguration
Die Konfigurationsschlüssel wurden weiter harmoniesiert.
- spring.banner
- spring.metrics –> management.metrics