CBOX-202: ColdBox WireBox Dependency Injection
Course Overview
CBOX-202 is one of our advanced courses that focuses on WireBox, our dependency injection framework. In this course you will learn all about dependency injection, inversion of control principles, object de-coupling, compositions, and object messaging, mocking and testing with WireBox. Our focus is in learning what problems dependency injection solves and how to apply it with WireBox.
All training sessions are conducted by ColdBox core developers and experts in application development using the ColdBox Platform. This course will provide you with all in-depth knowledge necessary to succeed in designing, building and maintaining ColdBox applications. Get your technology edge and sharpen your ColdFusion skills!
General Information
You will have both theory and hands-on labs that will sharpen your skills and challenge you. Please take note that this is an advanced course and previous ColdFusion CFC experience is very much desirable.
Requirements
Below is a list of some of the course requirements or assumptions you will need:
- Laptop or Personal Computer with Adobe ColdFusion, Railo or OpenBD
- Adobe ColdFusion Builder with ColdBox Platform Utilities Extension or CFEclipse
- MXUnit Framework & Eclipse Plugin
- Intermediate to Advanced CFC knowledge
- Intermediate to Advanced ColdFusion Knowledge
- Object Orientation experience is desirable
Testimonials
You can check our video testimonials online at Vimeo ColdBox Group. There you will find a collection of training seminar testimonials and even fun activities that we as a group enjoy.
Upcoming Seminars
If you would like to propose a city for the next seminar location,
please do so by emailing us at training@coldbox.org with
your suggestions.
Location |
Dates |
Cost |
Course(s) |
Trainer(s) |
Actions |
|---|---|---|---|---|---|
|
Holiday Inn Express Minneapolis Airport CFObjective |
May 15 | 499.00 | CBOX-204: Testing, Mocking, Stubbing, Oh My! | Curt Gratz |
Details
|
|
Regus Conference House Edinburgh Scotch On The Rocks |
June 3-5 | 1299.00 | ColdBox Europe BootCamp | Luis Majano |
Details
|
|
Holiday Inn Express Minneapolis Airport CFObjective |
May 13-14 | 999.00 | ColdBox BootCamp | Luis Majano |
Details
|
Course Outline
Below is the full 2 day course outline separated into the logical scheduled units. Some units may bleed into each others sections if necessary.
Unit 1
- Course Introduction
- WireBox Introduction
- What is WireBox
- System requirements
- WireBox Flavors
- Installation
- CF builder utilities and installation
- Features at a glance
- Dependency Injection & Inversion Of Control
- What is the problem
- What is the solution
- What is IOC
- What is dependency injection
- Benefits/Types of di
- Di vocabulary
- What is an object graph?
- Circular dependencies
- Lazy dependencies
- Object factories and factory methods
- Parent factory hierarchies
Unit 2
- WireBox Injector
- What is the injector
- Main components overview
- Creating the injector
- Creation arguments
- Binder introduction
- Creation Defaults
- Coldbox integration
- How to create objects
- Object creation and discovery styles
- Wirebox Object types
- How are they persisted
- Scoping overview
- Scoping by annotations or config
- Scope widening intro and providers
- When are objects created
- Common injector methods
- WireBox Dependency Injection
- Resolution types
- Auto wire is on by default
- Injection styles
- Object creation life cycle
- Object dependency life cycle
- Annotations and Conventions
- Annotation driven development
- Component annotations
- Persistence annotations
- Injection DSL
- Method annotations
- Property annotations
- Method conventions
Unit 3
- WireBox Binder
- Default values
- Use with or without inheritance
- Pros/cons
- Configuration method signature
- Implicit data structures or programmatic dsl or combination
- Binder support classes
- Useful methods
- Injector created properties
- Coldbox integration
- Binder Implicit Configuration
- Mapping DSL
Unit 4
- WireBox Providers
- Overview
- Scope widening injection
- Custom providers
- Virtual providers
- Injection dsl review
- Provider mapping dsl
- Provider lookup methods
- Virtual provider onmissingmethod
- WireBox Event Model
- Overview
- Cachebox events
- Events lifecycle
- Wirebox listeners
- Tips and reminders
- Custom DSL
- Custom Scopes
Unit 5
- Tools
- Scope reloading
- Object populator
- Logging
- MockBox integration
Menu
Info Box
Details