Spring知识点

 

1、Spring Data JPA、Hibernate与JPA的区别是什么?

 (1)Hibernate与JPA的区别

简而言之:Hibernate ORM是JPA规范的一个实现。

hibernate是持久化实现技术,而jpa是持久化的标准,一个是具体实现,一个是接口协议,当然spring data jpa是在hibernate的基础上更上层的封装实现。

目前比较成熟的 JPA 框架主要包括 Jboss 的 Hibernate EntityManager、Oracle 捐献给 Eclipse 社区的 EclipseLink、Apache 的 OpenJPA 等。

(2)Spring Data JPA和JPA的区别

 

Spring Data JPA 是在JPA规范的基础下提供了Repository层的实现,但是使用那一款ORM需要你自己去决定。

虽然ORM框架都实现了JPA规范,但是在不同ORM框架之间切换是需要编写的代码有一些差异,而通过使用Spring Data Jpa能够方便大家在不同的ORM框架中间进行切换而不要更改代码。并且Spring Data Jpa对Repository层封装的很好,可以省去不少的麻烦。

2、使用JPA直接查数据库中的bigint类型,会映射为java的BigInteger类型。

 

3 Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。

(1)加载:容器通过类加载器使用servlet类对应的文件加载servlet

(2)创建:通过调用servlet构造函数创建一个servlet对象

(3)初始化:调用init方法初始化

(4)处理客户请求:每当有一个客户请求,容器会创建一个线程来处理客户请求

(5)卸载:调用destroy方法让servlet自己释放其占用的资源

4、定义bean:@Component @Repository @Service @Controller @RestController

5、Spring Data JPA

(1)实体映射类,在Date类型字段上加@CreationTimestamp和@UpdateTimestamp可以自动的给表添加创建时间和更新时间。

(2)将各个实体中重复的字段抽出来一个BaseEntity,并标记上@MappedSuperclass,其他实体继承BaseEntity。相应的,在@ToString(callSuper=true)可以打印父类中的实体信息。而且在Dao层,定义一个BaseDao,让其他Dao继承BaseDao可以实现一些公共的dao操作方法。

(3)@Enumerated定义每局类型字段

(4)商品金额字段使用joda.money类表示。在字段上方添加@JsonSerialize和@JsonDeserialize进行序列化和反序列化。实现实体类字段和数据库字段的相互转换。

6 spring mvc

配置前端到DTO的实体转换:定义一个Formatter的实现类,重写parse和print方法。或者添加自定义的Converter/GenericConverter

7 Spring装配bean

spring装配bean的三种机制:

(1)在XML中进行显式配置

(2)在Java中进行显式配置

(3)隐式的bean发现机制和自动装配

组件扫描(component scanning)+自动装配(autowiring)

推荐指数自动配置>Java配置>XML配置

8 spring data jpa分页page从0开始

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值