Spring業務服務對象簡介
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);
- }
【編輯推薦】