Shared service interfaces, SPIs, and utilities used across GuicedEE modules.
- Common SPIs for logging, lifecycle, and environment integration
- Utilities shared by Core, Web, Persistence, and Client modules
- JPMS + ServiceLoader registration patterns
<dependency>
<groupId>com.guicedee</groupId>
<artifactId>guiced-services</artifactId>
</dependency>
// Example: register a service via ServiceLoader
// file: META-INF/services/com.guicedee.client.services.logging.LogConfigurator
// com.example.logging.MyLogConfigurator
// JPMS (optional)
// module com.example.app {
// requires com.guicedee.guicedservices;
// provides com.guicedee.client.services.logging.LogConfigurator with com.example.logging.MyLogConfigurator;
// }
- Dual registration encouraged: META-INF/services and module-info provides entries.
- Keep SPI contracts small and backwards-compatible; document changes in RULES/GUIDES.
- Rules:
RULES.md - Guides:
GUIDES.md - Architecture:
docs/architecture/README.md
- PRs welcome. Update docs and examples when introducing new SPIs.
- Apache 2.0 — see
LICENSE.