DI ,Dependency injection ,it can well effectively organize objects from action tier, service tier and DAO tier. via spring DI ,these tiers can work together . the action tier do not need to care about the service tier; service tier no need to take responsible for the DAO tier .the spring decouples them separately .it is the interface based programming .
there is another advantage is when need to refactor the system, it will greatly reduce the modification