10.4.2 依赖注入DAO组件

10.4.2 依赖注入DAO组件

实现业务逻辑组件,就是为AuctionService 接口提供一个实现类,该实现类必须依赖于DAO组件,但这种依赖是接口层次的依赖,而不是类层次上的依赖。
因为业务逻辑组件必须依赖于5个DAO组件,而这5个DAO组件都依赖SpringIoC容器的注入,因此在AuctionServiceImpl中必须提供如下5个setter方法,这5个setter方法正是依赖注入5个DAO组件所必需的方法。
下面是在业务逻辑组件中依赖注入5个DAO组件的setter方法片段。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 以下是该业务逻辑组件所依赖的DAO组件
private AuctionUserDao userDao;
private BidDao bidDao;
private ItemDao itemDao;
private KindDao kindDao;
private StateDao stateDao;

// 为业务逻辑组件依赖注入DAO组件所需的setter方法
public void setUserDao(AuctionUserDao userDao)
{
this.userDao = userDao;
}
public void setBidDao(BidDao bidDao)
{
this.bidDao = bidDao;
}
public void setItemDao(ItemDao itemDao)
{
this.itemDao = itemDao;
}
public void setKindDao(KindDao kindDao)
{
this.kindDao = kindDao;
}
public void setStateDao(StateDao stateDao)
{
this.stateDao = stateDao;
}

一旦为该业务逻辑组件提供了这5个setter方法,当把业务逻辑组件部署在Spring容器中,并配置所依赖的DAO组件后,Spring容器就可以把所需DAO组件注入业务逻辑组件中。