JPMS in practice for backend services
On This Lesson 4 topics
This lesson is planned. The outline below lists the topics it will cover. The full lesson has not been published yet.
In this lesson
decide whether a Spring service should use JPMS.
Planned topics
- Spring Boot applications mostly run on the classpath; framework reflection, auto-configuration, and many libraries (some without module descriptors) make JPMS costly.
- Benefit is mainly for libraries and some shared modules with clear APIs.
- Alternatives for boundaries: Maven or Gradle multi-module builds, package structure conventions, and ArchUnit rules.
- Check the JPMS support of your framework versions before committing (verify version).
- Choose by cost and benefit, not fashion.
Draft outline details
Demonstration
a table: Option / enforcement / cost — JPMS: compile and runtime / high with frameworks; multi-module build: compile / medium; ArchUnit: test time / low.
Check your understanding
Name one cheaper alternative to JPMS for boundaries.
Show answer
ArchUnit tests or build modules.
Practice
Apply this lesson with the module's lab, exercises and quiz.
Marking a lesson complete is optional and you can undo it any time. Your progress stays in this browser.