Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

CDI — Dependency Injection v Java EE

05. 11. 2013 Aktualizováno: 24. 03. 2026 1 min čtení CORE SYSTEMSdevelopment
Tento článek byl publikován v roce 2013. Některé informace mohou být zastaralé.
CDI — Dependency Injection v Java EE

CDI (Contexts and Dependency Injection) je standardni DI framework v Java EE. Od verze 6 je soucast specifikace a konecne nabizi to, co Spring mel roky — typove bezpecnou dependency injection s anotacemi.

Zaklady CDI

@Inject misto new. Container spravuje lifecycle objektu, resi zavislosti automaticky. Zadne XML konfigurace — CDI pouziva anotace a convention. Kazda trida s beans.xml v META-INF/WEB-INF je CDI bean.

Scopes

@RequestScoped — novy objekt per HTTP request. @SessionScoped — per HTTP session. @ApplicationScoped — singleton. @ConversationScoped — explicitne rizeny scope pres viac requestu. @Dependent — default, novy objekt pri kazde injekci. Spravny scope je klicovy pro spravnou funkcnost a vykon.

Producers

@Produces metoda vytvari objekty, ktere CDI container nemuze vyrobit automaticky (EntityManager, konfiguracni hodnoty, externi zdroje). Alternativa k factory patternu — cistsii a deklarativni.

Interceptors a Decorators

Interceptors pro cross-cutting concerns: @Interceptor s @AroundInvoke pro logovani, security, caching. @Transactional interceptor nahrazuje EJB transakce. Decorators pro rozsireni business logiky bez zmeny originalu.

CDI vs. Spring DI

CDI: standard, soucast Java EE, typove bezpecne kvalifikatory. Spring: starsi, vetsi ekosystem, funguje i bez app serveru. Pro Java EE projekty: CDI. Pro Spring projekty: Spring DI. Nemiixujte oba v jedne aplikaci.

Zaverem

CDI je dospely DI framework. Pro Java EE projekty je to preferovana volba — standardni, typove bezpecny a s vybornou integraci s EJB a JPA. Spring DI zustava lepssi volba mimo Java EE kontejner.

cdijava eedienterprise
Sdílet:

CORE SYSTEMS

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.

Potřebujete pomoc s implementací?

Naši experti vám pomohou s návrhem, implementací i provozem. Od architektury po produkci.

Kontaktujte nás
Potřebujete pomoc s implementací? Domluvit schůzku