Spring与Hibernate核心技术解析

1、什么是对象关系映射(ORM)?

  • ORM是将对象持久化到关系数据库(如RDBMS)的过程,它弥合了对象和关系模式之间的差距,使面向对象的应用程序能直接持久化对象,无需在对象和关系格式之间进行转换。
  • 它创建了一个可通过编程语言访问的虚拟对象数据库,简化了使用关系数据库作为持久化存储的复杂企业应用程序的数据访问层。
  • ORM还涉及将对象表示映射到JDBC语句参数,并将JDBC查询结果映射回对象表示,数据库列会映射到域对象的实例字段或JavaBeans的属性。
  • 通常,ORM不直接在SQL层面工作,而是使用自己的对象查询语言,该语言在运行时会被翻译成SQL,映射信息以元数据形式保存。

2、解释Hibernate架构的基本元素

Hibernate架构的基本元素

  1. 配置(Configuration)
    org.hibernate.cfg.Configuration 类是Hibernate API的基本元素,可用于构建 SessionFactory ,可看作能产生 SessionFactory 的工厂类。

  2. 会话工厂(SessionFactory)
    在应用程序启动时创建,供后续使用。 org.hibernate.SessionFactory 接口作为工厂,提供获取Hibernate会话对象的抽象。初始化过程消耗大量资源和时间,建议每个JVM实例使用一个 SessionFactory

  3. 会话(Session)
    org.hibernate.Session 是Hibernate系统与应用程序之间的接口,用于与数据库建立连接。它轻量级,每次与数据库交互时初始化,使用完需关闭以释放资源。

  4. 事务(Transaction)
    事务接口是可选的,代表与数据库的一个工作单元,大多数关系型数据库管理系统支持。在Hibernate中,事务由底层事务管理器处理。

  5. 查询(Query)
    org.hibernate.Query 接口提供执行Hibernate查询和检索结果的抽象, Query 对象代表使用Hibernate查询语言构建的查询。

  6. 条件查询(Criteria)
    org.hibernate.Criteria 是使用Criterion API的接口,用于创建和执行面向对象的条件查询,是HQL或SQL的替代方案。

  7. 持久化对象(Persistent)
    这些类是应用程序中的实体类。持久化对象处于持久化状态,与一个 org.hibernate.Session 关联, Session 关闭后,对象将分离,可在应用程序的任何层使用。

3、什么是 HQL?

  • Hibernate 查询语言(HQL)是一种面向对象的查询语言,它作用于持久化对象及其属性,而非直接操作数据库的表和列。
  • 在与数据库交互时,Hibernate 会将 HQL 查询转换为常规的 SQL 查询。
  • 此外,HQL 中的关键字(如 SELECT FROM WHERE GROUP BY 等)不区分大小写。

4、什么是Spring Web MVC框架?

::Spring Web MVC框架灵活、健壮且设计精良,用于开发Web应用程序。它可高度配置为模型、视图和控制器。该框架使用Java、Servlet和JSP等Java技术实现,只需将Spring JAR文件包含到Web应用程序的lib目录中,就可在任何Java企业Web服务器上托管Spring MVC项目。Spring框架中的Spring MVC模块为MVC设计提供全面支持,具备国际化、主题、验证等功能,以简化表示层的实现。它围绕DispatcherServlet设计,该Servlet将HTTP请求分发到简单的控制器接口。

5、Spring MVC 中的控制器是什么?

  • DispatcherServlet 将传入的 HTTP 客户端请求委托给控制器,以执行特定功能。
  • 控制器解释用户输入,并将此输入转换为特定模型,该模型将由视图呈现给用户。
  • 使用 @Controller 注解可将一个类定义为控制器类,而无需继承任何接口或类。

6、什么是Spring Security?

::Spring Security主要用于Java EE企业软件应用,主要针对基于Spring框架的Web应用。它最初是Acegi安全框架,后被Spring采纳为子项目。该框架通过处理身份验证和授权,为企业Java软件应用提供安全服务,能在Web请求级别和方法调用级别处理身份验证和授权,是高度可定制且强大的身份验证和访问控制框架。它并非防火墙、代理服务器、入侵检测、JVM安全等类似的东西,其作用是保护Web应用资源,仅允许特定用户访问。

7、什么是认证和授权?

::认证是确认用户是其所声称的身份的过程,是识别和验证的结合。识别方式多样,如通过存储在数据库、LDAP 或 CAS(单点登录协议)中的用户名和密码。Spring Security 提供密码编码器接口确保用户密码被哈希处理。授权是为已认证的用户提供访问控制,即确保已认证的用户只能访问其被授权使用的资源。例如在人力资源薪资应用程序中,应用的某些部分只有人力资源部门可以访问,而其他部分所有员工都可以访问,系统给予用户的访问权限将决定访问规则。

8、什么是Spring?

Spring 框架简介

Spring 是由 Rod Johnson 创建的开源框架。它是一个轻量级的 控制反转(IoC)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值