Spring有很多值得学习的地方,这里我们主要介绍Spring业务服务对象,包括介绍DAO对象等方面。
建立我们的Spring业务服务对象
我们将在我们的业务对象中使用的setter方法接受的是接口,这些接口允许对象的松散定义的实现,这些对象将被设置或者注入。在我们这个例子里我们将使Spring业务服务对象接受一个DAO去控制我们的领域对象的持久化。当我们在这篇文章的例子中使用Hibernate( While the examples in this article use Hibernate),我们可以容易的转换到一个不同的持久框架的实现,通知Spring使用新的实现的DAO对象。你能明白编程到接口和使用“依赖注入”模式是怎样宽松耦合你的业务逻辑和你的持久化机制的。
这儿是Spring业务服务对象的接口,它是一个DAO对象依赖的桩。
- public interface IOrderService {
- public abstract Order saveNewOrder(Order order)
- throws OrderException,OrderMinimumAmountException;
- public abstract List findOrderByUser(String user)
- throws OrderException;
- public abstract Order findOrderById(int id)
- throws OrderException;
- public abstract void setOrderDAO(IOrderDAO orderDAO);
- }
注意上面的代码有一个为DAO对象准备的setter方法。这儿没有一个getOrderDAO方法因为它不是必要的,因为不太有从外面访问连着的OrderDAO对象的需要。DAO对象将被用来和我们的持久层沟通。我们将用Spring业务服务对象和DAO对象连在一起。因为我们编码到接口,我们不会紧耦合实现。
- public interface IOrderDAO {
- public abstract Order findOrderById(final int id);
- public abstract List findOrdersPlaceByUser(final String placedBy);
- public abstract Order saveOrder(final Order order);
- }
【编辑推荐】