Annotation Interface New


The New qualifier was deprecated in CDI 1.1. CDI applications are encouraged to inject Dependent scoped beans instead.

The @New qualifier allows the application to obtain a new instance of a bean which is not bound to the declared scope, but has had dependency injection performed.

 @Produces @ConversationScoped 
 @Special Order getSpecialOrder(@New(Order.class) Order order) {
    ...
    return order;
 }
 

When the @New qualifier is specified at an injection point and no value member is explicitly specified, the container defaults the value to the declared type of the injection point. So the following injection point has qualifier @New(Order.class):

 @Produces @ConversationScoped 
 @Special Order getSpecialOrder(@New Order order) { ... }
 
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Specifies the bean class of the new instance.
  • Element Details

    • value

      Class<?> value

      Specifies the bean class of the new instance. The class must be the bean class of an enabled or disabled bean. The bean class need not be deployed in a bean archive.

      Defaults to the declared type of the injection point if not specified.

      Returns:
      the bean class of the new instance
      Default:
      javax.enterprise.inject.New.class