我们现在正在使用 Spring jdbcTemplate 来实现服务层,但在未来的某个时候我们想转向休眠。我担心当我们迁移到 Hibernate 时,我们当前服务层的设计方式是否有效。
目前我们有:为了清楚起见,我省略了细节
上下文 xml 中的数据源
<bean id="dataSource" destroy-method="close" class="...BasicDataSource">
<property name="" value="" />
<property name="" value="" />
<property name="username" value="" />
<property name="password" value=""/>
</bean>
服务等级
@Repository
public class MyService {
private JdbcTemplate jdbcTemplate;
@Autowired
public void setDataSource (DataSource ds) {
this.jdbcTemplate = new JdbcTemplate(ds);
}
@Transactional
public void myTransactions () {...}
}
控制器:
@Autowired
private MyService myService;
我在 spring mvc 中看到了很多 hibernate 服务层的实现,其中大多数使用interface
. 添加接口有什么好处?我应该interface
在我的设计中添加一个吗?过渡到休眠时,这会使事情变得更容易吗?