
Explore theoretical and practical explanations of core concepts, including API usage, engage in group work and Q&A, and actively participate to master dependency injection for Java developers.
Engage actively in this course by pausing or rewinding when needed, asking questions, and participating throughout, as you build the knowledge you need for the next unit.
Install NetBeans IDE 8.2 from netbeans.org and download the bundled package for Java enterprise development. Follow the Windows install, ensure Java is installed, and import sample code for setup.
Identify why every gesture must come with a reference implementation, illustrated by the umbrella and its collection.
Explore how Java EE is defined as an open standard via the Java Community Process, with specifications and reference implementations that go through transparent voting and expert review.
Explore what Java EE is as an umbrella platform with a reference implementation in the form of gas, and learn to submit feedback and issues on the DCP website.
Understand the finalized Java platform and the next major Java EE release, expected between May and the end of 2017, and its availability.
Explore what dependency injection is, why Java developers should use it, and how it relates to control, as the course introduces the technique and sets the stage for future chapters.
Use dependency injection to implement inversion of control by letting a container supply dependencies. The kitchen versus restaurant analogy shows how the container hands services to your application.
Explore what dependency injection is, an inversion of control where a container manages application dependencies, enabling declarative requests for needed components and the framework to instantiate and inject them.
Explore lifecycle contexts in dependency injection by binding components to sessions or views, ensuring they survive user interactions and get garbage collected when their context ends.
Explore how each concept in this course branches into project-specific examples, making topics like events, requests, and scopes easy to follow for Java developers.
Explore CDI bean discovery modes in Java development, including how CDI scans archives for beans using annotations and how default discovery affects which beans are managed.
Explore beans and contextual instances in dependency injection, showing how a plain old Java object annotated as a bean becomes a managed, context-driven component with injection.
Learn CDI field injection in Java from the Dependency Injection for Java Developers course, and see how a container injects into a class field within a context.
This lecture covers CDI managed beans, distinguishes concrete and abstract classes, and requires a default or injection-point constructor with at least one injection point in a container-managed lifecycle.
Explore how CDI manages beans, including session beans and EJB-style injection, with stateless and singleton scopes and application-wide access via injection points.
Explore CDI lifecycle callbacks and PostConstruct, enabling initialization after injection and before use. See how a PostConstruct method runs once a bean is fully created to prepare data and state.
Review how dependency injection works by default with CDI, explore default discovery modes, and examine beans and lifecycle callbacks that power Java applications.
First written assignment
Explore how to read the Java EE API documentation to locate injection points in CDI, and how access modifiers affect injectable constructors, methods, and fields.
Learn how CDI qualifiers disambiguate dependency injection by tagging interface implementations, resolve runtime ambiguity, and ensure the correct bean is injected when multiple candidates exist.
Discover how CDI qualifiers resolve ambiguity in dependency injection by using interface implementations, session beans, and annotation qualifiers to inject the correct bean.
Explore the CDI built-in qualifier @Default and how it defines the default context for injection when no explicit qualifier is declared at injection points.
Explore CDI contexts for stateful EJBs, showing how a stateful EJB keeps state across invocations, enabling memory of past actions as the container manages it.
Learn how CDI interceptors implement cross-cutting concerns (logging and security audits) by intercepting method calls, using an invocation context to proceed or deny the invocation.
Explore how CDI events in Java enable decoupled components to synchronize data in real time using a payload and an event interface, with methods that define the event.
Learn how CDI events enable firing payloads via a runtime-provided event interface, using generics to observe and route data like login and location across the app.
Define conditional CDI events and observers that fire only under specific conditions, using qualifiers to control invocation and integrating events with transaction lifecycle points before, during, and after completion.
Explore CDI events and API documentation by examining event types, qualifiers, and parameters in Java, highlighting how two events on the Java platform interact through public interfaces.
Explore how contexts behave under session scope and application scope in running code samples, showing how the same components differ across session and lifetime applications.
This lecture shows how interceptors in Java dependency injection handle crosscutting concerns by intercepting method calls, locking data, and managing session and request lifecycles with post construct callbacks.
Developers explore a code sample to demonstrate event-driven behavior in dependency injection. The lecture shows firing and observing events, with decoupled beans enabling maintainable and testable applications.
Demonstrate synchronous event handling in a dependency injection context by firing events, observing handlers, simulating a six-second long task, and measuring execution time to illustrate blocking behavior.
Explore synchronous events and how code runs on a single thread, contrasted with asynchronous events on separate threads, including callbacks and long running tasks.
Run and verify Java tests with Arquillian against an embedded container, using CDI with qualifiers to ensure correct injection, and observe test results to validate builds.
Demonstrates testing a Java dependency injection component with Arquillian, injecting components, using qualifiers, and validating a soldier greeting outcome.
Learn how to validate dependency injection in Java with Arquillian by running tests, deliberately failing them to verify injections, and interpreting results to ensure code behavior.
Are you a software developer? If not, are you aspiring to be one? If you answered yes, then I have good news for you!
Dependency Injection is the cornerstone of good, decoupled software engineering principles. And this course is your ultimate guide to the latest Contexts and Dependency Injection (CDI 2.0) standard on the Java Platform.
You will learn how the Java dependency injection framework - CDI - helps you write better code through the provision of
Powerful, extensible and well defined contextual lifecycles for components
A mechanism for decoupling application components through a typesafe event API
Typesafe interceptors for altering the behaviour of components at runtime
A well defined Qualifier system for easy isolation of beans
A Producer mechanism of converting almost any valid Java type to a CDI managed bean
A Stereotype system to group together common architectural patterns
Bindings for using business components on the web tier of your applications through Expression Language
All these and more will be covered in an exciting way through a mixture of detailed theoretical explanations and practical code samples, all the while using modern pedagogical means to keep you engaged and help you absorb your new knowledge. You are encouraged to be an active student by asking questions, participating in group discussions and helping your fellow students.
If you have ever wanted to write clean code, this course is your best guide for that. You will pick up valuable tips along the way from your instructor's years of experience. This course will cover CDI 2.0 in detail, as well as equip you with the theoretical underpinnings of Java EE.
Dependency Injection for Java Developers will cover
What Java EE is
How Java EE is evolved through the JCP
What a JSR is
What Reference Implementation is
How to contribute to the advancement of Java
Contexts and Dependency Injection
Good software engineering principles and more
Dependency Injection for Java Developers is packed with so much that by the end of the course, you will feel confident to use your new found knowledge to help you write better, readable, maintainable and long lived software.
So go ahead, click on the big green button to enroll now and be on your way to writing better software. See you in the course.