10.4.2 依赖注入DAO组件
实现业务逻辑组件,就是为AuctionService 接口提供一个实现类,该实现类必须依赖于DAO组件,但这种依赖是接口层次的依赖,而不是类层次上的依赖。
因为业务逻辑组件必须依赖于5个DAO组件,而这5个DAO组件都依赖Spring的IoC容器的注入,因此在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
| private AuctionUserDao userDao; private BidDao bidDao; private ItemDao itemDao; private KindDao kindDao; private StateDao stateDao;
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组件注入业务逻辑组件中。