spring事务的底层原理 spring data jpa与jdbc区别?

[更新]
·
·
分类:互联网
3660 阅读

spring

spring data jpa与jdbc区别?

data jpa与jdbc区别?

jdbc(Java DataBase Connectivity)是java连接数据库操作的原生接口。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为各个数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。一句话概括:jdbc是所有框架操作数据库的必须要用的,由数据库厂商提供,但是为了方便java程序员调用各个数据库,各个数据库厂商都要实现jdbc接口。
jpa(Java Persistence API)是java持久化规范,是orm框架的标准,主流orm框架都实现了这个标准。Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。ORM是一种思想,是插入在应用程序与JDBC API之间的一个中间层,JDBC并不能很好地支持面向对象的程序设计,ORM解决了这个问题,通过JDBC将字段高效的与对象进行映射。具体实现有hibernate、spring data jpa、open jpa。
spring data jpa是对jpa规范的再次抽象,底层还是用的实现jpa的hibernate技术。
hibernate是一个标准的orm框架,实现jpa接口。
mybatis也是一个持久化框架,但不完全是一个orm框架,不是依照的jpa规范。

Java的框架中spring是最重要的么?

Java 中常用的三大架构,其中Spring是 三大基础框架中最重要的没有之一
Spring就是整合更多的开源框架,
?
hibernate就是提供更便利的方法操控数据库
?
struts2就是为每个请求提供Actionl类
?
现在基本上不用struts2,而是用SpringMVC ,SpringMVC是Spring下面的,
?
纵览Spring , 读者会发现Spring 可以做非常多的事情。但归根结底, 支撑Spring的仅仅是少许的基本理念, 所有的理念都可以追溯到Spring最根本的使命上: 简化Java开发。
Spring的目标是致力于全方位的简化Java开发。 这势必引出更多的解释, Spring是如何简化Java开发的?
为了降低Java开发的复杂性, Spring采取了以下4种关键策略:
基于POJO的轻量级和最小侵入性编程;通过依赖注入和面向接口实现松耦合;基于切面和惯例进行声明式编程;通过切面和模板减少样板式代码。
几乎Spring所做的任何事情都可以追溯到上述的一条或多条策略。
我将通过具体的案例进一步阐述这些理念, 以此来证明Spring是如何完美兑现它的承诺的, 也就是简化Java开发。 让我们先从基于POJO的最小侵入性编程开始。