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 standardní DI framework v Java EE. Od verze 6 je součást specifikace a konecne nabízí to, co Spring měl roky — typove bezpečnou dependency injection s anotacemi.

Zaklady CDI

@Inject misto new. Container spravuje lifecycle objektu, řeší zavislosti automaticky. Zadne XML konfigurace — CDI používá anotace a convention. Každá třída s beans.xml v META-INF/WEB-INF je CDI bean.

Scopes

@RequestScoped — nový objekt per HTTP request. @SessionScoped — per HTTP session. @ApplicationScoped — singleton. @ConversationScoped — explicitně rizeny scope pres viac requestu. @Dependent — default, nový objekt pri každé injekci. Správný scope je klíčový pro správnou funkčnost a vykon.

Producers

@Produces metoda vytváří objekty, které CDI container nemůže vyrobit automaticky (EntityManager, konfigurační 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 rozšíření business logiky bez zmeny originalu.

CDI vs. Spring DI

CDI: standard, součást Java EE, typove bezpecne kvalifikatory. Spring: starší, větší ekosystem, funguje i bez app serveru. Pro Java EE projekty: CDI. Pro Spring projekty: Spring DI. Nemiixujte oba v jedné aplikaci.

Závěrem

CDI je dospěly DI framework. Pro Java EE projekty je to preferovaná volba — standardní, typove bezpečný a s výbornou integraci s EJB a JPA. Spring DI zůstává 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