This is a good overview. I look forward to digging into the code.
I do have one question/issue. Why is setOrderDAO() a method on IOrderService instead of OrderServiceSpringImpl? External users of IOrderService do not need to know about the DAO, and from what I've read, Spring does not require that these sorts of methods be on the public interface.