默认范围

public class DependentScopedClass {

    //This class has no scoping annotations, so a new instance gets created at every injection point.

    @Inject
    public DependentScopedClass(SomeDependency someDependency) {
        doSomethingWith(someDependency);
    }

}

大多数 CDI bean 的默认范围称为依赖范围。不包含任何范围注释的类将被视为依赖范围,除非它是 JAX-RS 资源或提供程序(资源默认为请求范围,提供程序默认为应用程序作用域)。只要注入的对象执行,依赖范围类的实例就会存在。每当构造一个类并将依赖的作用域类作为依赖项时,依赖的作用域类就会被创建并直接注入需要它的对象中。在后面的例子之后,这一点的重要性将变得明显。