@Global() registers the module's exported providers into the global DI scope. Any module in the application can inject those providers without listing the module in its own imports array. The global module must still be imported once — typically in AppModule — to be registered.
The module must still be imported once — usually in AppModule — to be registered in the container.
After registration, its exports are available to every module without explicit imports.
Only providers listed in exports are available globally — providers not exported remain private.
Use @Global() sparingly — it hides dependencies and makes modules harder to test in isolation.