# Spring kursen uppdaterad för Spring Boot 3

18 mars 2023 | https://www.ribomation.se/blog/2023/spring-kursen-uppdaterad-for-spring-boot-3/

Kursen om Spring Framework och Spring Boot har blivit uppdaterad för Boot version 3 och Framework version 6. Notabelt är att Spring nu utgår från Java version 17 (_senaste LTS_), vilket innebär bl.a. stöd för Java records. Vidare, så har man lagt mycket arbeta på att göra Spring kompatibelt med Graal VM och möjligheten till att generera ett exekverbart program (_native image_).

Nyheterna i vår omarbetade kurs om Spring är att
------------------------------------------------

*   Beskriva hur du genererar en exekverbar Spring applikation, med Graal VM
*   Hur du designar ett kommandorads program med nya Spring Shell
*   Fördjupningar i olika Spring relaterade tekniker
*   Samt en hel del mindre justeringar i materialet

Vi har också arbetat om programexemplet, som används genomgående i hela kursen. Du börjar med ett enkelt kommandorads program och konverterar detta steg-för-steg till att ta använda Spring och Boot mer och mer. När vi kommer in på web, så konverterar vi programmet till en webbapplikation baserad på Twitter Bootstrap. I nästa steg, blir den hybrid-applikation baserad på AJAX. För att till sist, bli en renodlad REST webbtjänst (_web service_) med en SPA klient-applikation implementerad i modern Angular 15 (_module-less_).

Så här ser kapitel-indelningen ut
---------------------------------

### Background & History

Why Spring was created and how it has evolved.

### The Robostore App

We start with a simple non-spring Java CLI app, and step-by-step make it more using Spring and Boot features, ending in an Angular SPA with a Spring REST back-end.

### Fundamentals

*   Class Loading
*   Dependency Injection
*   Application Context
*   Resources
*   Spring Expression Language

### Configuration

*   XML Configuration
*   Beans from a file (_under the hood_)
*   Java Configuration
*   @nnotation Configuration
*   Beans from annotations (_under the hood_)

### Database Access

*   Brief about JDBC
*   Database Access via Spring JDBC (`JdbcTemplate`)

### Spring Boot

*   Spring Boot Overview
*   Spring Native
*   Configuration Properties
*   Using Lombok
*   Spring Shell
*   Database access via JPA
*   SQL & DB access from annotations (_under the hood_)

### Spring Web

*   HTTP Concepts
*   Building a classic multi-page web app
*   Sending Data
*   Building an AJAX hybrid web app
*   Building a single-page web app

### Deployment

Best practices for deploying Spring apps
