- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
In de cursus Spring Boot Development leer je op een snelle en efficiënte manier applicaties en microservices te ontwikkelen met Spring Boot. In de training worden essentiële kenmerken van Spring Boot behandeld zoals opiniated Spring Boot Starters, embedded servers, automatische configuratie, metrics en externalized configuratie.
De cursus gaat van start met een overzicht de belangrijkste Spring principes zoals het laden van beans in de bean container en dependency injection.
Vervolgens wordt behandeld hoe in Spring Boot voorgedefinieerde configuraties fungeren als startpunt voor een Spring Boot applicatie. Ook wordt ingegaan op andere hoofdcomponenten van Spring Boot zoals de Autoconfigurator, de Actuator en het Command Line Interface (CLI).
Uitgebreid wordt ingegaan op dependency injection met de bijbehorende annotaties zoals @Component, @Qualifier, @Repository and @Service. De interne werking van dependency injection met Java Reflection wordt toegelicht.
Onderdeel van het cursus programma zijn ook de auto configuratie mogelijkheden in Spring Boot. Componenten kunnen met annotaties als @EnableAutoConfiguration mits geregistreerd in met @Configuration geannoteerde classes aan elkaar worden gelinkt.
En ook wordt Aspect Orientation in Spring Boot aan de orde gesteld. Crosscutting concerns in een applicatie zoals security of profiling kunnen in zogeheten aspects worden opgenomen zonder de main program flow te verstoren.
Database benadering vanuit Spring Boot applicaties komt aan bod bij de behandeling van Spring JDBC en Spring Data. Diverse Spring templates die boilerplate code helpen voorkomen zoals jdbcTemplate en MongoTemplate evenals JPA repositories worden besproken.
Spring Boot is bij uitstek geschikt om met compacte code REST API's te benaderen. Ingegaan wordt op de verschillende annotaties die hierbij van belang zijn zoals @RestController, @ResponseStatus en @JsonView.
Tenslotte komen diverse Spring extensie projecten aan de orde zoals Spring Security en Spring Cloud.
De cursus Spring Boot Development is bestemd voor ervaren Java Developers die Spring Boot willen gebruiken voor applicatie ontwikkeling.
Ervaring met programmeren in Java en object oriëntatie is vereist om deel te kunnen nemen aan deze cursus. Voorkennis van het Spring Framework is bevorderlijk voor een goede begripsvorming.
De concepten worden behandeld aan de hand van presentaties en demo's. De theorie wordt afgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Spring Boot Development.
Module 1 : Spring Core |
Module 2 : Spring Boot |
Module 3 : Dependency Injection |
Spring Framework Overview Spring Configuration Spring Dependency Injection Non IoC versus IoC Application Context Beans Life Cycle XML Configuration Configuration with Annotations Component Scanning Spring Java Configuration Aware Interfaces |
What is Spring Boot? Advantages Spring Boot Spring Boot Flavors Key Spring Boot Components Spring Boot Starter Starter Dependencies Spring Boot Autoconfigurator @SpringBootApplication Spring Boot CLI Spring Boot Internals Spring Boot Actuator |
Non-IoC or Dependency Injection Benefits of Dependency Injection Constructor Dependency Injection Setter Dependency Injection Autowiring with @Autowired @Qualifier Annotation @Component Annotation @Repository and @Service Bean scopes Event Handling Internationalization |
Module 4 : Application Configuration |
Module 5 : Aspect Orientation |
Module 6 : Spring JDBC |
Configuration Classes @Configuration Annotation @Bean Annotation @Enable Annotations @EnableAutoConfiguration Autowiring and Component Scanning @EnableScheduling Wire External Values Spring Expression Language @Value Annotation @PropertySource Annotation |
What is AOP? The need for AOP Crosscutting Concerns Traditional Approach Spring AOP AOP Concepts AOP Key Terms Aspects and Weaving Pointcuts and Joinpoints ProxyFactoryBean Spring AOP Configuration |
Spring and JDBC JDBC Architecture JDBC Drivers and URL’s Spring JDBC Data Access Spring DAO with JdbcTemplate Data Source Injection Querying using JdbcTemplate RowMapper Querying and Populating Objects Updating with JdbcTemplate ResultsetExtractor |
Module 7 : Spring Data |
Module 8 : Spring REST |
Module 9 : Spring Security |
What is Spring Data? Spring Data Configuration CRUD Out of the Box JPA Repositories Persisting and Modifying Entities Spring Data Queries @Query Annotation Named and Async Queries Paging Results Transaction Handling @Transactional Annotation MongoDB Template Mapping and Inserting Documents |
REST Web Services @RestController HttpEntity and ResponseEntity Default Content Types Default Status Codes @ResponseStatus and HttpStatus Working with XML and JSON Multiple Representations Filtering with @JsonView REST Clients RestTemplate Sending HTTP Requests Reading Responses |
Spring Security Model Process Behind Security Interceptors Authentication Manager Configuring authentication Intercepting URLs Security at the method level Access Decision Manager Security Based on Roles Security Based on Identity Access Denied Handling Securing REST Services JSON Web Tokens OAuth2 Authentication |
Module 10 : Spring Cloud |
||
What is Spring Cloud? Spring Cloud Config Eureka Service Spring Cloud Bus Spring Cloud Cluster Spring Cloud Security Spring Cloud Data Flow Spring Cloud Connectors Spring Cloud Task App Starters Spring Cloud Zookeeper Spring Cloud CLI Spring Cloud Gateway Spring Cloud Pipelines |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
Na afloop van iedere cursus worden de deelnemers verzocht de cursus te evalueren ten aanzien van cursusinhoud, cursusmateriaal, trainer en locatie. Het evaluatie formulier staat op https://www.klantenvertellen.nl/reviews/1039545/spiraltrain. De evaluaties van voorgaande deelnemers en voorgaande cursussen kunnen daar ook worden teruggevonden.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.