Question: I am a little bit confused, we call CDI bean to the beans which we inject them using `@Inject` annotation or the beans which we use `@Inject` inside them ?

Answer: 
`CDI bean` is a bean managed by `CDI container` (Weld for example).

* If it is `@injected` - it is bean
* If it is may `@injects` something - it is bean too.
CDI got introduced in Java EE 6 to provide some of the features available earlier to EJB only to all components managed by container. So CDI bean covers Servlets, SOAP web service, RESTful web service, entities, EJBs etc. 

> 
> So you can use all these terms interchagebly : 
> 
> 
> * CDI bean
> * bean
> * managed bean
> * EJB bean
> * container managed bean etc.
> 
> 
>