Spring 冬眠与春天的关系
我有一个关于春天+冬眠的问题 我总是使用hibernate进行开发,我生成表和类DAO的图像 然后在LogicMetier,我对这些方法进行了简单的调用 例如,UserDao=newuserdao()然后是UserDao.persist() 现在我有一个无穷无尽的春天,我还不明白 一, 加号是多少因为他知道自己也在打电话 有dao服务(手动编写)它不生成 类dao与hibernate 二, 是不是有了spring,我就不用担心管理会话了 示例打开会话,关闭会话提交()Spring 冬眠与春天的关系,spring,hibernate,Spring,Hibernate,我有一个关于春天+冬眠的问题 我总是使用hibernate进行开发,我生成表和类DAO的图像 然后在LogicMetier,我对这些方法进行了简单的调用 例如,UserDao=newuserdao()然后是UserDao.persist() 现在我有一个无穷无尽的春天,我还不明白 一, 加号是多少因为他知道自己也在打电话 有dao服务(手动编写)它不生成 类dao与hibernate 二, 是不是有了spring,我就不用担心管理会话了 示例打开会话,关闭会话提交() 提前谢谢,我想了解一下
提前谢谢,我想了解一下Ccool的想法:在它的核心,Spring是一个依赖注入框架。这意味着,与其这样做
public class MyService
private MyDao dao;
public MyService() {
dao = new MyDao();
}
}
你能行
public class MyService
private MyDao dao;
@Autowired
public MyService(MyDao dao) {
this.dao = dao;
}
}
Spring将自动调用构造函数并注入MyDao的实例。主要的好处是代码很容易进行单元测试
最重要的是,它允许注入代理,而不是直接注入实际的实现。这些代理确实将为您处理事务管理,以及更多(异常转换、安全检查等)
因此,您不必显式地打开、提交和回滚事务,只需使用@Transactional
注释服务方法,Spring就会打开、提交/回滚事务。事务上下文将自动传播到嵌套的服务调用
这个简短的回答只是给你一个想法。要了解更多信息,请阅读依赖项注入,并阅读Spring文档。Spring的核心是依赖项注入框架。这意味着,与其这样做
public class MyService
private MyDao dao;
public MyService() {
dao = new MyDao();
}
}
你能行
public class MyService
private MyDao dao;
@Autowired
public MyService(MyDao dao) {
this.dao = dao;
}
}
Spring将自动调用构造函数并注入MyDao的实例。主要的好处是代码很容易进行单元测试
最重要的是,它允许注入代理,而不是直接注入实际的实现。这些代理确实将为您处理事务管理,以及更多(异常转换、安全检查等)
因此,您不必显式地打开、提交和回滚事务,只需使用@Transactional
注释服务方法,Spring就会打开、提交/回滚事务。事务上下文将自动传播到嵌套的服务调用
这个简短的回答只是给你一个想法。要了解更多信息,请阅读依赖项注入,并阅读Spring文档。对服务类使用Spring注释,如
@Service
,对Dao类使用@Repository
,对操作控制器使用@Controller
。在服务类或方法上使用@Transactional
就足以执行事务。对服务类使用Spring注释,如@service
,对Dao类使用@Repository
,对动作控制器使用@Controller
。在服务类或方法上使用@Transactional
就足以执行事务