Public Sector

We've had the pleasure of working with UK and overseas central and local government departments, including Healthcare (NHS and Foundation Trusts), Defence, Education (Universities and colleges), many of the main Civil Service departments, Emergency Services; also public-owned corporations including the BBC, Bank of England, Ordnance Survey, and regulatory bodies such as Ofgem.

We are registered on Crown Commercial Service’s (CCS) Dynamic Purchasing System (RM6219 Training and Learning) and also with numerous tender portals such as Ariba, Coupa and Delta E-Sourcing.

Read more...

Graduate Training Schemes

Framework Training has a strong track record of providing a solid introduction into the working world for technical graduates across myriad industries. We provide the opportunity to learn and gain valuable hands-on experience in a supportive, friendly and sociable training environment.

Attract & retain the brightest new starters

We know it is vital for our clients to invest in the future of their talented grads; not only to provide them with high-quality, professional training essential for their roles, but to embed them within the organisation’s culture and guide them on the right path to a successful career.

After all, your new hires could well be the next leaders and their creative ideas and unique insights are invaluable to your business.

Read more ...

Learning & Development

Our unique portfolio of high-quality technical courses and training programmes are industry-respected. They’re carefully designed so that delegates can seamlessly apply what they’ve learnt back in the workplace. Our team of domain experts, trainers, and support teams know our field — and all things tech — inside out, and we work hard to keep ourselves up to speed with the latest innovations. 

We’re proud to develop and deliver innovative learning solutions that actually work and make a tangible difference to your people and your business, driving through positive lasting change. Our training courses and programmes are human-centred. Everything we do is underpinned by our commitment to continuous improvement and learning and generally making things much better.

Read more...

Corporate & Volume Pricing

Whether you are looking to book multiple places on public scheduled courses (attended remotely or in our training centres in London) or planning private courses for a team within your organisation, we will be happy to discuss preferential pricing which maximise your staff education budget.

Enquire today about:

  • Training programme pricing models  

  • Multi-course voucher schemes

Read more...

Custom Learning Paths

We understand that your team training needs don't always fit into a "one size fits all" mould, and we're very happy to explore ways in which we can tailor a bespoke learning path to fit your learning needs.

Find out about how we can customise everything from short overviews, intensive workshops, and wider training programmes that give you coverage of the most relevant topics based on what your staff need to excel in their roles.

Read more...

Putting the Spring Boot In: Spring Boot 4.0

Discover what’s new in Spring Boot 4.0 and Spring Framework 7.0, including Java upgrades, Jakarta 11 adoption, improved GraalVM support, API versioning, and migration tips for developers.

February 9th, 2026

Read this blog aloud:

One of the most significant upgrades in the Java world happened at the end of 2025, Spring Boot was upgraded from 3.x to 4.0 along with the main Spring Framework upgrading from Spring 6.x to Spring 7.0. In this blog we look at what the main changes are, what impact they might have on a project / developer, what you need to use the latest version of Spring Boot and why you should consider upgrading. 

Spring Boot

Let’s start off with what is Spring Boot? Spring Boot aims to make working with the (now huge) Spring Framework and eco system easier. It takes a n opinionated view of the Spring platform and how you should work with it. This helps developers and projects to get started with a Spring application with the minimum of fuss and configuration. It can be used to create standalone Spring applications, embed web servers within an application, deploy onto a web server, and incorporate logging, metrics and management facilities into an application.  For more information on Spring Boot see the main Spring Boot documentation site. 

It’s important to release that Spring Boot builds upon, and relies on, the Spring Framework. You cannot use Spring Boot without using Spring. In fact, Spring Boot is a module which builds upon and configures the main Spring framework. This means you can use Spring without Spring Boot (but why would you want to?).
High-definition photo of a fashionable leather boot

Working with Spring Boot

When you create a new project using Spring Boot many defaults are assumed that you would otherwise have to set manually yourself. There are also default Spring Boot configurations that can be used to further set up a project. It is also possible for Spring Boto to discover what modules you are using and to infer their configurations. It is of course, possible to override these defaults but in many (most?) cases they are at least suitable for an initial set up. 

In fact, this feature makes it particularly well suited for cloud computing environments / docker configurations as many of the Spring Boot defaults suit those environments and make creating a container very straight forward.

Spring Boot 4.0 / Spring framework 7.0

Back in 2022 when Spring Boot 3 and Spring Framework 6 were launched they represented a major step forward in how developers worked with Spring. For example, they started the migration from the javax.* to the jakarta.* world as well as providing early support for GraalVM. The latest Spring Boot 4.0 and Spring Framework 7.0 have significantly accelerated this move. Both these new versions move Spring into the world of modern Java applications, libraries and code styles. They also move the Kotlin view of Spring forward significantly as well. 

To summarise the new features in Spring Boot 4.0 and Spring framework 7.0 we can list: 

  • Updated Java Baseline

  • Jakarta 11 has now been fully adopted

  • Kotlin 2.2 is now required

  • GraalVM Improved Support

  • The Spring codebase has been restructured into smaller modules

  • Standardised Approach to Defining Nullability

  • Provision of the HTTPServiceClient class

  • API Versioning

  • Testing Upgrades

  • General 3rd Party Library Upgrade Maintenance

  • Logging and Monitoring Developments

  • Removal of XML Configuration

  • Spring AI Integration 

Let's take a look at some of the highlights...

Updated Java baseline

The Java Baseline has been moved forward. In line with identified LTS (Long Term Support) versions of Java, Spring Framework 7.0 requires at least Java 17 as a minimum (as was the case with the previous version of Spring) but now strongly recommends updating to either Java 21 or ideally Java 25. Sticking with Java 17 reflects that fact that many developers are still having to use this version of the language. However, moving to a newer version can provide productivity, performance and memory gains and is thus the recommended approach from Spring. 

Jakarta 11 fully Supported

Jakarta 11 has now been fully adopted. Previously support for the older Java Enterprise Edition packaging naming was still supported. This has now been removed from the Spring world and instead it has fully adopted the Jakarta package structures. This means that Spring 7.0 has now moved up to Servlet 6.1, JPA 3.2, JUnit 6.x??? and Bean Validation 3.1. 

Kotlin 2.2 Support

Kotlin 2.2 is now required when using Spring from Kotlin. This moves Spring forward within the Kotlin world, bringing improved coroutine support and better Gradle integration. 

GraalVM Improved Support

Spring Boot 4’s support for, and integration with, GraalVM 24 is significantly enhanced. 

More Modular Design

Photo of the interesting architectural design of a block of apartments with rounded, corrugated balconies

The whole of the Spring codebase has been repackaged to reduce dependencies between modules and to allow the set of runtime libraries used to be smaller in size. This represents a complete restructuring and modularization of the Spring Boot codebase providing smaller and more focused jars. For new projects this is hidden from the developer. For existing projects this may require some refactoring and further configuration. Alternatively, you can add the spring-boot-autoconfigure-classic module which will collect all auto-configuration classes into one dependency and allow your existing code to run on top of the new modular structure. 

Standardised Approach to Defining Nullability

Framework wide improvements for null safety with JSpecify. Java allows null to be used to represent a variable of some object type. However, languages such as Kotlin do not and the use of null is often considered harmful in many Java development teams. To aid this Spring had provided the ability to indicate that a value should not be null or should be allowed to be null. However, not all Spring modules used the same way of specifying nullability. In Spring Framework 7.0 this is standardised to use the JSpecify library using @NonNull and @Nullable. This also provides better alignment with the Kotlin world. 

Provision of the HTTPServiceClient class

HTTPServiceClients are a new feature which allow the developer to specify a suitably annotated Java interface and then allow the HTTPServiceClient to provide the boiler plate code to access remote HTTP APIs. This significantly reduces the amount of such code that needs to be written by a developer. 

API Versioning

A standard way of indicating versioning information has been introduced to Spring Framework 7.0. This allows a version number to be specified for an API allowing the changes in behaviour to be represented by, for example different methods, with different version meta data. The user of this API can then use this information when invoking the API and Spring will handle routing the request to the correct method. 

Testing Upgrades

Testing has been upgraded with a move to JUnit Jupiter 6.x and Mockito 5.20 as well as additional supporting classes such as RestTestClient to simplify the testing of restful APIs. 

General 3rd Party Library Upgrade Maintenance

Other 3rd party modules have also been updated for example, Jackson 3.x, Hibernate 7.1, Jetty 6.2.0, Tomcat 11.0 etc. 

Logging and Monitoring Developments

Logging enhancements are also included. The Spring JCL logging bridge has been removed and replaced with the Apache Commons Logging framework. 

In terms of monitoring, the previous observability API has been revised such that it now uses the latest OpenTelemetry SDK with a default starter that configures this. Some of the observability modules have also changed their names, for example spring-boot-metrics becomes spring-boot-micrometer-metrics, representing the change in the lower-level implementation. 
Close-up photo of a pile of timber logsRemoval of XML Configuration

Removal of the XML-based configuration. Originally, most Spring applications were configured using external XML files. However, the move away from XML started a long time ago and now finally, this feature has been removed altogether. 

Banner image - click to view our Spring Boot 4 with Java training course Spring AI Integration

Spring AI is an application framework for AI engineering. It aims to make the integration of AI tools, into a Spring based application, as seamless as integrating a database. Spring Framework 7.0 provides initial integration for this Spring module. 

Upgrading to Spring Boot 4.0

Given the changes to both Spring Boot 4.0 and Spring Framework 7.0 care should be taken when upgrading. If you have a project which is on a version of Spring that predates Spring Boot 3.5, then you should first move to that version. Spring 4.0 removes many methods, classes and properties which are marked as deprecated in Spring Boot 3.5. Only once there are no deprecation warnings should you consider upgrading to Spring Boot 4.0. For more information see the Spring 3.5 to 4.0 migration guide. 

Summary

Planning to upgrade to Spring Boot 4.0 needs consideration and planning, however using Spring Boot 4.0 for a new Spring based project should be a no brainer. Spring Boot 4.0 (and the associated Spring Framework 7.0) bring significant updates in terms of performance, developer support, security both in terms of how a developer works with APIs but also in terms of support that improves the integrity of your code and adds useful new features that reduce the amount of boiler plate code you must write. The fact that it can also support newer languages constructs in the latest versions of java dn Kotlin is just the icing on the cake. 

Share this post on:

We would love to hear from you

Get in touch

or call us on +44 (0) 20 3137 3920