Please see the second part here Contexts and Dependency Injection (CDI ) JSR 299 is a new feature in Java EE 6 Web Profile . Its Enhance the JSR 330 Dependency Injection in Java. CDI are highly used annotation. CDI makes Loose coupling between classes. To use javax.inject.Inject annotation, we can inject any class into another classes In traditional way, we create the instance using ' new ' operator in another class. here thats instance life time is dependent on target class. its tightly coupled. Here CDI makes to loosely coupled and change the life-cycle for that instance.