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...

Spring Boot 3 for Kotlin Developers

Learn to build robust Kotlin applications with Spring Boot 3.

About the course

Kotlin is a modern, expressive, and concise programming language that has become increasingly popular, particularly for server-side development, due to its excellent interoperability with Java, focus on safety (like null safety), and features that reduce boilerplate code. Spring Boot provides first-class support for Kotlin, allowing developers to leverage Kotlin's powerful features to build elegant, efficient, and robust applications with even greater ease than traditional Java. Spring Boot 3, built on Spring Framework 6 and requiring Java 17+ (which integrates seamlessly with Kotlin 1.6+ and later), enhances this experience further, enabling Kotlin developers to build modern, high-performance, and secure applications. This 4-day intensive hands-on training course provides a comprehensive deep dive into developing applications with Spring Boot 3 specifically using the Kotlin language, covering its core principles, key features, and seamless integration with the wider Spring ecosystem to build robust web, data-driven, and messaging-based applications.

The course begins with a thorough overview of the Spring and Spring Boot 3 ecosystem, exploring their motivations, the benefits of Spring Boot 3's auto-configuration and "opinionated" approach, and setting up modern Spring Boot 3 projects using Spring Initializr, Maven, and Gradle, all configured for Kotlin development. Participants will master the fundamental Spring concepts of Beans and Dependency Injection (DI), understanding the Spring Container and various modern configuration approaches using Annotations, JavaConfig, and Lambda expressions, with all examples and labs demonstrated using concise and expressive Kotlin syntax. A significant portion is dedicated to building different types of applications using Kotlin: creating web applications using Spring Web MVC, developing RESTful Services (including introducing modern client approaches like WebClient and RestClient, potentially leveraging Kotlin Coroutines for reactive scenarios), integrating with various data sources using Spring Data (covering JDBC, JPA/Hibernate, and NoSQL databases like MongoDB, making extensive use of Kotlin data classes for entities), and integrating Messaging capabilities using Spring JMS and technologies like RabbitMQ with Kotlin.

Furthermore, the course provides insight into Spring Boot 3 Internals, common customisation options, and the benefits of features like improved observability and native image support when developing with Kotlin. Participants will learn how to effectively Test Spring Boot 3 applications using the powerful Spring Boot Testing Framework and JUnit 5+, writing tests in Kotlin. Crucially, the course includes in-depth coverage of implementing robust application Security with Spring Boot 3 in Kotlin, focusing on the modern Spring Security 6+ configuration model and applying web and method-level security within Kotlin code, leveraging Kotlin's features for cleaner security configurations. The course concludes by exploring the Spring Boot Actuator for monitoring and managing Spring Boot 3 applications developed in Kotlin. Through extensive hands-on labs using Kotlin, attendees will gain practical experience building, configuring, testing, and securing a variety of applications with Spring Boot 3.

Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.

    • Explain the motivation behind Spring and Spring Boot, understand key Spring Boot 3 features
    • Master the fundamental Spring concepts of Beans and Dependency Injection (DI), using Annotations, JavaConfig, and Lambda configurations with Kotlin syntax.
    • Build web applications using Spring Web MVC in Spring Boot 3 with Kotlin.
    • Develop RESTful Services with Spring Boot 3 and Kotlin, and consume REST services using modern clients like WebClient and RestClient, potentially leveraging Kotlin Coroutines.
    • Integrate data access into Spring Boot 3 applications using Spring Data with Kotlin, covering JDBC, JPA/Hibernate, and NoSQL databases like MongoDB, effectively using Kotlin data classes.
    • Integrate messaging capabilities into Spring Boot 3 applications using Spring JMS and Kotlin.
    • Understand Spring Boot 3 Internals and customisation points relevant to Kotlin development and common Kotlin/Spring Boot integrations.
    • Effectively test Spring Boot 3 applications using the Spring Boot Testing Framework and JUnit 5+, writing tests in Kotlin.
    • Implement application Security with Spring Boot 3 in Kotlin, focusing on the modern Spring Security 6+ configuration model, web security, and method security applied to Kotlin code.
    • Utilise the Spring Boot Actuator for monitoring and managing Spring Boot 3 applications developed in Kotlin.
    • Understand how Spring Boot 3 simplifies integration with the wider Spring ecosystem using modern configuration approaches and Kotlin's features.
  • This 4-day intensive hands-on training course is designed for Kotlin software developers who want to learn how to build modern, production-ready applications using Spring Boot 3. It is ideal for:

    • Kotlin Developers looking to build server-side applications with Spring Boot.

    • Developers familiar with Kotlin but new to the Spring and Spring Boot ecosystem.

    • Developers currently building Spring/Spring Boot applications in Java who want to transition to using Kotlin for server-side development.

    • Architects and Technical Leads evaluating or implementing Spring Boot 3 with Kotlin for their projects.

    • Anyone involved in building or maintaining modern server-side applications using Kotlin and the Spring ecosystem.

  • Participants should have attended our Kotlin programming training course or have equivalent experience:

    • Experience developing applications using the Kotlin programming language is essential.

    • Familiarity with basic Spring Framework concepts is helpful but not strictly required, as the course covers core Spring within the Spring Boot context.

    • A basic understanding of web development concepts (HTTP, REST) and database concepts (SQL, ORM basics) is beneficial.

    • Familiarity with common Kotlin concepts such as data classes, null safety, lambdas, and extension functions is assumed.

  • This Spring Boot with Kotlin course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).

    Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.

  • Spring Boot Overview

    • Motivation behind Spring and the Spring Framework.

    • What is Spring Boot and its purpose?

    • Spring Boot 3 Motivation and Key Features, including excellent Kotlin support.

    • Auto-configuration, Standalone applications, and Opinionated defaults.

    • Java 17+ Baseline, Jakarta EE migration, and compatibility with Kotlin.

    • Setting up Spring Boot 3 projects with Maven and Gradle, configured for Kotlin.

    • Using Spring Initializr for Kotlin projects.

    • IDE Support for Spring Boot development with Kotlin.

    • Lab: Creating and configuring a basic Spring Boot 3 application using Kotlin and Spring Initializr.

    First Spring Boot Application

    • Using the Spring Boot CLI (overview) with Kotlin.

    • Creating a simple "Hello World" application in Kotlin.

    • Understanding Spring Boot auto-configuration in practice with Kotlin projects.

    • Packaging Spring Boot applications (JARs, WARs).

    • Lab: Building and running a basic "Hello World" Spring Boot 3 application in Kotlin.

    Spring Beans and Dependency Injection (DI)

    • Introduction to Spring Beans and the Spring Container.

    • Defining Beans and configuring the Spring Context using Annotations, JavaConfig, and Lambda expressions in Kotlin.

    • Bean Scoping in the context of Kotlin.

    • Spring Annotations for configuration and DI used with Kotlin classes and properties.

    • Inversion of Control and Dependency Injection concepts.

    • Spring Dependency Injection mechanisms in Kotlin.

    • Wiring Beans together using Kotlin.

    • Lab: Working with Spring Beans and DI in a Spring Boot 3 application using Kotlin.

    Spring Web MVC

    • Introduce Spring Web MVC framework.

    • Present the flow through the MVC architecture.

    • Creating a simple Web MVC application using Spring Boot 3 and Kotlin.

    • Defining Controllers and handling requests using Kotlin syntax.

    • Handling view resolution.

    • Building and Deploying MVC applications.

    • Java Config web applications and the role of auto-configuration (vs. manual configuration) in Kotlin projects.

    • Lab: Building a basic Spring Boot 3 Web MVC application using Kotlin.

    Spring Boot and RESTful Services

    • Introduction to Web Services and the principles of REST.

    • Building RESTful services with Spring Boot 3 using Kotlin.

    • Using annotations (@RestController, @GetMapping, etc.) with Kotlin classes and functions.

    • Introduce Spring REST Clients: Consuming external REST services.

    • WebClient: The modern, non-blocking client for reactive and blocking applications, using Kotlin.

    • RestClient: The new blocking client with a modern API in Spring Boot 3.2+, using Kotlin.

    • Mention: RestTemplate (for understanding legacy Java/Kotlin code).

    • Lab: Creating a Spring Boot 3 RESTful service in Kotlin and building a client in Kotlin to consume it using WebClient/RestClient.

    Spring Data and Spring Boot

    • Introduction to Spring Data project and its goals.

    • Creating a Spring Data project using Spring Boot Initializr, configured for Kotlin.

    • Data Access Objects (DAO) concepts.

    • Spring DAO support.

    • Working with JDBC in Spring Boot using Kotlin.

    • Spring DAO Exception Hierarchy.

    • Using Object Mappers for data mapping in Kotlin.

    • Exploiting JPA (and Hibernate) for ORM in Spring Boot 3, leveraging Kotlin data classes for entities.

    • Integrating NoSQL (e.g., MongoDB) databases with Spring Boot 3 using Kotlin.

    • Creating Data Access Objects (DAOs) using Spring Data Repositories with Kotlin interfaces and data classes.

    • Lab: Implementing data access using Spring Data JPA or MongoDB in Spring Boot 3 with Kotlin, using data classes.

    Spring JMS and Spring Boot

    • Basic idea of message queues and messaging patterns (point-to-point, publish and subscribe).

    • Integrating a message server like RabbitMQ with Spring Boot using Kotlin.

    • JMS (Java Message Service) overview.

    • Spring JMS Development with Kotlin.

    • Using a Spring POJO bean (Kotlin class) as a message consumer.

    • Lab: Implementing messaging with Spring Boot 3 and RabbitMQ or JMS using Kotlin.

    Integration with the Spring Ecosystem

    • Using XML and Annotation configuration (focus on Annotation and JavaConfig in Spring Boot 3 with Kotlin).

    • Using JavaConfig in Kotlin for advanced configuration.

    • Discussion: Choosing the right configuration approach in modern Spring Boot with Kotlin.

    Spring Boot Internals and Defaults

    • Understanding the SpringApplication class and its lifecycle.

    • Custom Banner configuration (using banner.txt).

    • Using SpringApplicationBuilder in Kotlin.

    • Configuring ApplicationRunner and CommandLineRunner using Kotlin.

    • Custom Properties Prefix and configuration management in Kotlin projects.

    • Creating a Spring Boot Starter project (overview).

    • Improved Observability with Micrometer and Micrometer Tracing.

    • Native Image Support with GraalVM (overview).

    • Lab: Customizing Spring Boot defaults in a Kotlin application.

    Spring Boot and Spring Test

    • Introduce Testing with Spring.

    • Highlight Test Support in Spring Boot.

    • Using JUnit 5.x for testing in Kotlin.

    • Integration of Spring and JUnit for Kotlin tests.

    • The Spring Boot Testing Framework (@SpringBootTest, test slices) used with Kotlin.

    • Lab: Writing unit and integration tests for a Spring Boot 3 application using Kotlin and JUnit 5.

    Security with Spring Boot

    • Introduction to Spring Security.

    • Security with Spring Boot 3: Auto-configuration and key features.

    • Fundamental Elements of Spring Security (Authentication, Authorization, Principal).

    • Spring Security Managers and Providers (overview).

    • Securing Spring Web Applications: Modern Spring Security 6+ configuration in Kotlin.

    • Configuring HTTP security using SecurityFilterChain beans and authorizeHttpRequests with Kotlin lambda DSL.

    • Other Authentication providers (e.g., JDBC, LDAP, OAuth2 - overview).

    • Method Security: Securing individual methods in Kotlin code.

    • Defining Method level Security using annotations on Kotlin functions.

    • Annotation Based Method Security (@PreAuthorize, @PostAuthorize, etc.) with Kotlin.

    • Alternative Annotations (@Secured, @RolesAllowed).

    • Lab: Implementing and configuring security in a Spring Boot 3 web application using Kotlin and the modern Spring Security configuration model.

    Spring Boot Actuator

    • Introduction to the Spring Boot Actuator Module.

    • Actuator Endpoints (health, info, metrics, etc.).

    • Changing the Endpoint ID and Management Endpoints Path.

    • Actuator CORS support.

    • Securing Endpoints (using Spring Security 6+ in Kotlin config).

    • Implementing Custom Actuator Endpoints.

    • Spring Boot Actuator health indicators.

    • Spring Boot Actuator metrics and improved observability.

    • Lab: Exploring and configuring Spring Boot 3 Actuator endpoints and security in a Kotlin application.

Trusted by

BBC logo AMEC company logo University of Glasgow logo/crest

Public Courses Dates and Rates

Please get in touch for pricing and availability.

Related courses