CDI je zkratka, která znamená Kontexty a vstřikování závislostí (Injekce kontextů a závislostí). Tato technologie je jednou z klíčových částí specifikace Java EE (Enterprise Edition) a poskytuje mechanismus pro řízení životního cyklu a interakce komponent.
Když mluvíme o CDI, mluvíme o samotné podstatě závislosti a vkládání kontextu. Vložení závislosti je schopnost objektu používat jiné objekty, aniž by je musel sám vytvářet. Kontext je úroveň viditelnosti objektů, jejich životní cyklus, jejich dostupnost a rozsah.
Pomocí CDI mají vývojáři k dispozici pohodlnou sadu nástrojů pro vytváření aplikací s nízkou vazbou a vysokou přenositelností. CDI poskytuje rozlišení závislostí a automatické vkládání zdrojů a kontextu. Kromě toho vám CDI umožňuje definovat rozsahy – oblasti viditelnosti komponent, což vám umožňuje efektivně spravovat zdroje a řídit jejich dostupnost.
Co znamená zkratka CDI?

CDI je specifikace pro správu komponent Java aplikací. Poskytuje kontexty, které pomáhají řídit životní cyklus komponent, a také mechanismy vkládání závislostí, které umožňují komponentám mezi sebou komunikovat.
CDI má několik základních principů:
| Zásada | popis |
|---|---|
| Souvislosti | CDI poskytuje různé kontexty, jako je RequestScoped, SessionScoped a ApplicationScoped, které definují životnost komponent v závislosti na potřebách aplikace. |
| Injekce závislosti | CDI vám umožňuje automaticky vkládat závislosti do komponent, díky čemuž je váš kód flexibilnější a modulárnější. |
| Kvalifikace | CDI umožňuje používat kvalifikátory k rozlišení komponent stejného typu. Kvalifikátory mohou být anotace nebo speciální třídy. |
Specifikace CDI se integruje s dalšími technologiemi Java, jako jsou JavaServer Faces (JSF), Java Enterprise Edition (Java EE) a Java Context and Dependency Injection pro platformu Java EE (CDI-EDR). Poskytuje pohodlnější a flexibilnější vytváření a správu komponent v aplikacích Java.
CDI: dekódování prvních písmen

CDI znamená „Contexts and Dependency Injection“, což v překladu do ruštiny znamená „Contexts and Dependency Injection“.
CDI je standardní specifikace programovacího jazyka Java, která definuje mechanismy pro správu životního cyklu komponent a vkládání závislostí do aplikace. Je založen na anotacích a umožňuje vám vyvíjet aplikace, které jsou flexibilnější, rozšiřitelné a přenosné.
Souvislosti v CDI

V CDI jsou definovány následující kontexty:
- Žádost: kontext požadavku, který ukládá komponenty vytvořené pro zpracování požadavku od klienta;
- Zasedání: kontext relace, který ukládá komponenty vytvořené pro konkrétní uživatelskou relaci;
- Aplikace: kontext aplikace, který ukládá jednou vytvořené komponenty pro celou aplikaci;
- Závislý: Kontext závislosti, který ukládá komponenty, které jsou vytvořeny, kdykoli je to potřeba.
Dependency Injection v CDI

CDI používá anotaci pro vkládání závislostí @Inject . Umožňuje automaticky vkládat instance tříd do jiných tříd bez explicitního vytváření instancí.
CDI také poskytuje možnost definovat vlastní beany (komponenty) pomocí anotace @Named a řízení jejich životního cyklu pomocí anotací @Scope .
Použití CDI usnadňuje vývoj aplikací Java, snižuje propojení mezi komponentami systému a zvyšuje jejich přenositelnost a znovupoužitelnost.
Funkce CDI při údržbě zařízení

Hlavní funkce CDI jsou:
- Start motoru: CDI spouští a řídí proces vybíjení energie v zapalování, což zajišťuje rychlé a spolehlivé startování motoru. To je zvláště důležité pro zařízení pracující v extrémně chladných podmínkách nebo s vysokou vlhkostí.
- Zlepšená kvalita zapalování: CDI poskytuje stabilní a výkonný jiskrový výboj, který snižuje riziko vynechání zapalování a zlepšuje celkovou účinnost motoru.
- Úspora paliva a snížení emisí: Díky účinnějšímu a přesnějšímu zapalování pomáhá CDI šetřit palivo a snižovat emise škodlivých látek do životního prostředí.
- Přepěťová ochrana: Systém CDI poskytuje ochranu před přepětím v elektrickém obvodu, zabraňuje poškození elektroniky a dalších zařízení.
Obecně jsou funkce CDI při údržbě zařízení zaměřeny na zvýšení spolehlivosti jeho motoru, zvýšení účinnosti paliva a snížení škodlivých emisí.
















