Service 层
用来抽象与实现业务逻辑的地方
包含的模块:
- dto (业务层与前端传递的数据结构)
- service
- impl
- exception(业务层异常封装)
设计理念:业务接口站在 "使用者" 角度设计,包括三方面:方法定义粒度(不关注与细节,抽象),参数(简单),返回类型(类型友好,return 类型/异常)
事务的使用规则:推荐使用@Transactional注解
- 开发团队成员达成一致约定,明确标注事务的编程风格
- 保证事务的执行时间尽可能短,不能穿插其他网络操作RPC/HTTP请求或者剥离到事务外
- 不是所以方法都需要事务,如只有一条修改操作,只读操作
配置:
<!--扫描service包下所有使用注解的类型-->
<context:component-scan base-package="cn.codingxiaxw.service"/>
<!--配置事务管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--注入数据库连接池-->
<property name="dataSource" ref="dataSource"/>
</bean>
<!--配置基于注解的声明式事务
默认使用注解来管理事务行为-->
<tx:annotation-driven transaction-manager="transactionManager"/>
service 层也需要单元测试