注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

赚客吧

 
 
 

日志

 
 
关于我

从明天起,做一个幸福的人, 洗澡,撸管,好好工作, 从明天起,关心姑娘和票子, 我有一种追求,骚气蓬勃,春心荡漾。

网易考拉推荐

@PostConstruct  

2011-07-27 15:53:26|  分类: JSF |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
import javax.annotation.PostConstruct;

帮助文档中13.8中
依赖注入通过注解进行注入与通过配置文件注入两种方式可以结合起来使用,遵循以下规则:
  • 1. 若注解与配置文件定义了同名的ManagedBean,则两个定义均会生效,作用于同一个Bean。若配置中存在冲突,以配置文件为准。例如在上面的例子中,如果删去配置文件中关于leader属性的注入描述,那么就会使用注解所定义的注入规则。同时配置文件中对name属性的初始化配置仍然生效。
  • 2. 分别使用注解与配置文件定义ManagedBean可互相引用。例如在上面例子中,如果在配置文件中删去对personBean的定义,改为在PersonBean类上使用注解进行定义,在配置文件中communityBean仍然可以对其进行注入。


    由于现在的ManagedBean都是RequestBean, 所以每一个请求都会重新生成一个ManagedBean,都会走一次该@PostConstruct方法。一般可以在该方法中对ManagedBean 的字段进行初始化操作。从上面的文档可以看出,该方法执行的时机 比 BeforeRender的时机略早。他们中间相差一个 @Init 方法执行。


    一般情况下第一次显示一个页面或第一次在EL中使用一个LiteBean时各方法调用顺序是:
    1 构造函数
    2 @ManagedProperty注入
    3 @PostConstruct方法
    4 @Init方法
    5 @Inject方法
    其它动作
    6 @BeforeRender
    渲染页面
    7 @AfterRender




    生命周期是REQUEST或NONE的LiteBean的非首次显示页面(或使用EL)时LiteBean执行与上面类似。
    1 构造函数
    2 @ManagedProperty注入
    3 @PostConstruct方法
    4 @Init方法
    5 @Inject方法
    其它动作
    6 @BeforeRender




    生命周期是SESSION或APPLICATION的LiteBean非首次显示页面(或使用EL)时各方法调用顺序是:
    1 @Init
    2 @Inject(renew=true)的方法(renew没有设置或为false的方法不执行)
    其它动作
    6 @BeforeRender
    渲染页面
    7 @AfterRender

    原文章http://www.operamasks.org/forum/thread-7340-1-1.html
  评论这张
 
阅读(1575)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017