htw saar Piktogramm QR-encoded URL
Back to Main Page Choose Module Version:
XML-Code

flag



Software Development with Spring

Module name (EN):
Name of module in study programme. It should be precise and clear.
Software Development with Spring
Degree programme:
Study Programme with validity of corresponding study regulations containing this module.
Applied Informatics, Bachelor, ASPO 01.10.2022
Module code: PIB-SES
SAP-Submodule-No.:
The exam administration creates a SAP-Submodule-No for every exam type in every module. The SAP-Submodule-No is equal for the same module in different study programs.
P221-0211
Hours per semester week / Teaching method:
The count of hours per week is a combination of lecture (V for German Vorlesung), exercise (U for Übung), practice (P) oder project (PA). For example a course of the form 2V+2U has 2 hours of lecture and 2 hours of exercise per week.
2V+2PA (4 hours per week)
ECTS credits:
European Credit Transfer System. Points for successful completion of a course. Each ECTS point represents a workload of 30 hours.
5
Semester: 5
Mandatory course: no
Language of instruction:
German
Assessment:
Project + oral examination

[updated 23.09.2025]
Applicability / Curricular relevance:
All study programs (with year of the version of study regulations) containing the course.

KIB-SES (P221-0211) Computer Science and Communication Systems, Bachelor, ASPO 01.10.2021 , semester 5, optional course
PIB-SES (P221-0211) Applied Informatics, Bachelor, ASPO 01.10.2022 , semester 5, optional course
Workload:
Workload of student for successfully completing the course. Each ECTS credit represents 30 working hours. These are the combined effort of face-to-face time, post-processing the subject of the lecture, exercises and preparation for the exam.

The total workload is distributed on the semester (01.04.-30.09. during the summer term, 01.10.-31.03. during the winter term).
60 class hours (= 45 clock hours) over a 15-week period.
The total student study time is 150 hours (equivalent to 5 ECTS credits).
There are therefore 105 hours available for class preparation and follow-up work and exam preparation.
Recommended prerequisites (modules):
PIB-PR1 Programming 1
PIB-PR2 Programming 2
PIB-PR3 Programming 3


[updated 01.08.2025]
Recommended as prerequisite for:
Module coordinator:
Prof. Dr. Markus Esch
Lecturer:
Dipl.-Inf. Christopher Olbertz


[updated 01.08.2025]
Learning outcomes:
After successfully completing this module, students will be able to:
- explain the basic concepts of the Spring framework.
- apply the Spring Core Framework and SpringBoot.
- develop web applications, web services and desktop applications with Spring and SpringBoot

[updated 23.09.2025]
Module content:
The module begins with an introduction to the fundamental concepts of the Spring framework. From there, it moves on to SpringBoot as a modern simplification, and then uses the combination of Spring-Core and SpringBoot as the course progresses. In the course of the module, a small example application will be developed for use in a real-world environment.
 
1. Introduction:
- What is Spring?
- Introduction to the basic concepts
- Structure of a Spring project
 
2. Spring concepts
- Inversion of control
- Dependency injection
- Declaring Spring Beans
- Configuring Spring Beans
- Annotation-based configuration
- Java-based configuration
 
3. Aspect-Oriented Programming (AOP)
- What ist AOP?
- Basic concepts of AOP
- AOP with Spring
- Advantages and disadvantages of AOP
 
4. SpringBoot
- What is SpringBoot?
- Structure of a SpringBoot project
- Advantages of SpringBoot
- Simple terminal applications with SpringBoot
 
5. Additional Spring functions
- Using customized configurations
- Event handling
- Resource abstraction
- Type conversions with ConversionService
- Using JSON
- Scheduling
 
6. Connection of relational databases
- Review of the Java Persistence API (JPA)
- JdbcTemplate
- Using the JPARepository interface
- Formulating standard queries
- Formulating customized queries
- Best practices
 
7. Test-driven development with Spring
- Introduction to test-driven development
- Spring-specific elements for testing
- Mocking framework Mockito
- Combination of Spring and Mockito
- Testing the data access layer
 
8. JavaFX and SpringBoot
- Advantages of combining JavaFX and SpringBoot
- Review JavaFX
- Implementation using FxWeaver
 
9. Web applications with SpringBoot
- SpringMVC
- Templating framework Thymeleaf
- RESTful API
- Analyzing queries
- Dynamic content generation
- Securing web applications with SpringSecurity
- Exception handling and error messages
- Asynchronous queries
- Best practices
- Testing the web layer
- Documentation of a RESTful API with OpenAPI

[updated 23.09.2025]
Recommended or required reading:
Christian Ullenboom: "Spring Boot 3 und Spring Framework 6 - Das umfassende Handbuch", Rheinwerk Computing

[updated 23.09.2025]
[Wed Oct 15 13:43:09 CEST 2025, CKEY=psms, BKEY=pi2, CID=PIB-SES, LANGUAGE=en, DATE=15.10.2025]