以托管 bean 的形式注册一个类实例,然后将其放入到使用其中一个
@...Scoped
注释指定的范围内。如果没有指定任何范围,JSF 将把此 bean 放入请求范围,如果没有指定任何名称,JSF 将把类名的第一个字母转换为小写,形成一个托管 bean 名称;例如,如果类名为UserBean
,那么 JSF 将创建一个托管 bean,其名为userBean
。eager
和name
属性都是可选的。注释必须结合使用一个实现零参数构造器的 Java 类。
@ManagedProperty
为托管 bean 设置一个属性。注释必须放在类成员变量的声明之前。name
属性指定特性的名称,默认情况下为成员变量的名称。value
属性是特性的值,可以是一个字符串,也可以是一个 JSF 表达式,比如#{...}
。
@RequestScope
在请求范围内存储托管 bean。
@SessionScoped
在会话范围内存储托管 bean。
@ApplicationScope
@ViewScope在应用程序范围内存储托管 bean。
@NoneScope在视图范围内存储托管 bean。
@CustomScope将托管 bean 指定为没有范围。无范围的托管 bean 在被其他 bean 引用时比较有用。
@PostConstruct在定制范围内存储托管 bean。
定制范围就是指可以由页面创建者访问的地图。可以通过编程的方式控制定制范围内的 bean 的可视性和生命周期。
value
属性指向一个地图。
@PreDestory用于资源注入初始化之后
@Resource用于Servlet脱离服务并释放注入的资源的时候
@Resources位于类或变量中以对Servlet容器进行“资源注入”。当容器识别出这个注释时,它会在获得服务地位之前,用适当的值实现带注释的变量的重新注入。通过使用这种注释,你不必利用JNDI来查找命令和在配置文件web.xml中手动声明资源。服务器通过Servlet的自我调整来执行它的任务。变量的名称和类型由映像机制自动确定,尽管你可以利用注释的参数来超越这一限制。一个注入的资源可以是数据源,Java信息服务目的文件或者是环境设置的标量。
用于一组@Resource注释