Java Injection (JSR-299) gives JSF a solid foundation for its component model, based on Java Injection's typesafe IoC capabilities and annotation-based discovery.