ssh2如何加入事务层

我开始都是在Action中直接调用Dao.面试时别人说我这样写不行。应该在action跟dao之间加个事务层。便于加入事务。我不知如何写。希望高手给个例子。最好是Ssh2框架写的。。55211605@qq.com 很感谢了!

首先在applicationContext.xml里配置使用annotation自动注册bean,以保证@Required,@Autowired的属性被注入:
[code="xml"]

[/code]
然后创建一个业务类:
[code="java"]
package com.yourapp.service

//Spring Service Bean的标识.
@Service
//默认将类中的所有函数纳入事务管理.
@Transactional
public class UserManager {
@Autowired
private UserDao userDao;

@Transactional(readOnly = true)
public User getUser(Long id) {
    return userDao.get(id);
}

...

}
[/code]
DAO:
[code="java"]
@Repository
public class UserDao {
...
}
[/code]
最后在Action中调用业务类:
[code="java"]
public class UserAction extends ActionSupport{
@Autowired
private UserManager userManager;
...
}
[/code]
大概的写法就是这样,想拿个完整的例子学去下载SpringSide或者Appfuse。

既然能够在action中调用Dao层的东西,那么也知道配置在action 和 dao 中间 配置一层biz,配置是一样的,只是在业务处理的时候,放在biz层处理!

spring中配置事务代理bean
[code="xml"]
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">






com.dengzh.ChatRoom









PROPAGATION_REQUIRED,-Exception


PROPAGATION_REQUIRED,-Exception


PROPAGATION_REQUIRED,-Exception




[/code]

tx:attributes



/tx:attributes
/tx:advice