双射(bijection)

双射(bijection)

双射(bijection,即 bidirectional injection 的简称)。当注出(outject)属性数据时,视图可以通过名称找到它。在 postback 或者组件初始化时,数据被注入(inject)到一个组件中。后者是著名的控制反转(inversion of control,IOC)模式的一种实现,可用于连接委托对象。

传统 IOC 与 双射之间的主要不同点在于,双射使长期作用域中的组件可以引用短期作用域中的组件。可以进行这种连接是因为双射在调用组件时(而不是启动容器时)解析依赖项。双射是有状态组件开发的基础。


@Name("addressManager")
public class AddressManagerBean{
    @DataModel
    private List<Address> addresses;
   
    @DataModelSelection
    @Out(required=false)
    private Address selectedAddress;
   
    @Factory(value="addresses")
    public void loadAddress(){
        //logic to load addresses into this.addresses
    }
   
    public String showDetail(){
        //no work needs to be done to prepare the selected address
        return "/address.jspx";
    }
   
    public String list(){
        return "/addresses.jspx";
    }
}
--------------------------------
@Name("addressManager")
public class AddresManagerBean{
    @In("#{addressService}")
    private AddressService addressService;
    }
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值