CanDI - Java Injection (JSR-299) for Resin
The custom, typesafe binding annotations are key to CanDI’s self-documentation, because injection points clearly describe the resources or services they expect with adjective-oriented annotations. The annotations are true Java classes; they are documented in JavaDoc and verified by the compiler. Because the binding annotations are a small number of meaningful adjectives, they don’t impose a significant coding burden, and are well worth the small extra development time.
Benefits and Features
Self-Documenting Injection
- Describes dependencies with custom annotation bindings.
- Type-safe, application-centric bindings.
- Discovers services and components with automatic classpath scanning.
- Integrates with JSP and JSF expressions @Named annotations.
- Supports advanced interception and event handling.
|
Lightweight XML
- Needed only for customization; default wiring doesn’t need XML
- Type-safe, customizable XML, using namespaces to map Java packages to tags
- Powerful configuration of Java instances, including sub-bean configuration
- Used by Resin for all Resin configuration
|
JavaEE Integration
- Usable from servlets, filters, EJBs, and JSF managed beans
- Integrated with JavaEE scopes (session, request, application)
- Deploy managed beans through servlet WEB-INF and JavaEE-visible jars
- Cross-fertilized aspects from EJBs: transactions, interception, security, locking
|
Service Centered Design
- Centralized registration and lookup.
- Uniform lifecycle management.
- Self-documented service declaration and binding.
- Automatic discovery and wiring.
|
Learn more about CanDI
Documentation
|
Whitepapers
|
Downloads