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
组件注入业务逻辑组件中。