Skip to content
Ameen Abozaid
Planned lessonMID-010-L04

JPMS in practice for backend services

  • Lesson 4 of 5
  • Mid-level
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.

Lab and exercises Quiz

Marking a lesson complete is optional and you can undo it any time. Your progress stays in this browser.

Continue to next lesson

Type to search levels, phases, modules and lessons.