Pro CDI 2 in Java Ee 8: An In-Depth Guide to Context Dependency Injection
Beernink, Jan, Tijms, Arjan
Use CDI and the new CDI 2.0 to automatically manage the lifecycle of your application's beans using predefined scopes and define custom lifecycles using scopes. In this book, you will see how you can implement dynamic and asynchronous communication between separate beans in your application with CDI events.
The authors explain how to add new capabilities to the CDI platform by implementing these capabilities as extensions. They show you how to use CDI in a Java SE environment with the new CDI initialization and configuration API, and how to dynamically modify the configuration of beans at application startup by using dynamic bean building.
What You Will Learn
- Use qualifier annotations to inject specific bean implementations
- Programmatically retrieve bean instances from the CDI container in both Java SE and Java EE when injecting them into an object isn't possible
- Dynamically replace beans using the @Alternative annotation to, for example, replace a bean with a mock version for testing
- Work with annotation literals to get instances of annotations to use with the CDI API
- Discover how scopes and events interact
Who This Book Is For
Those who have some experience with CDI, but may not have experience with some of the more advanced features in CDI.
Arjan Tijms works for Payara Services Ltd and is a JSF (JSR 372) and Security API (JSR 375) EG member. He is the co-creator of the popular OmniFaces library for JSF that was a 2015 Duke's Choice Award winner, and is the main creator of a set of tests for the Java EE authentication SPI (JASPIC) that has been used by various Java EE vendors. Arjan holds an MSc degree in computer science from the University of Leiden, The Netherlands.
Jan Beernink works for Google and is a contributor to several projects related to OmniFaces. Jan holds an MSc degree in computer science from the Vrije Universiteit of Amsterdam, The Netherlands.