热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

三大框架总结(图文)

框架总结Mybatis概念Mybatis是持久层框架.Mybatis封装了JDBC,采用ORM(对象关系映射)方式封装了数据.简化代码的编辑和使用.发展过程JDBC方式操作数据
  1. 框架总结
    1. Mybatis
      1. 概念

Mybatis是持久层框架.Mybatis封装了JDBC,采用ORM(对象关系映射)方式封装了数据.简化代码的编辑和使用.


      1. 发展过程

JDBC方式操作数据库.

缺点:


  1. 每次操作数据时,都需要频繁的开关链接.  后期引入连接池
  2. 获取传输器对象和封装返回值结果繁琐.
    1. ORM对象关系映射

早期JDBC:  sql---->> ResultSet---->>GetString/GetInt---->>对象

ORM:sql语句---->>对象

调用说明:

利用Mybatis中sqlSessionFactory对象,创建sqlSession主要的功能就是封装了JDBC.完成ORM对象关系映射.


    1. Spring
      1. 框架说明

概念:Spring框架可以整合所有的第三方框架.利用IOC和AOP极大的简化了程序的配置和调用的方式.让程序员编码时更加专注于业务的实现.


      1. IOC

说明:IOC控制反转.

知识回顾: 早期对象都是通过new关键字自己创建.

IOC说明:对象的创建的权利发生了变化.之前由程序员自己实例化对象.现在变成由Spring容器实例化对象.由Spring容器管理对象的生命周期.


        1. IOC如何实例化对象

Spring容器执行过程:

当tomcat服务器启动时会加载Spring容器的配置文件.当程序解析到Bean标签时.通过反射机制实例化对象.对象最终保存到了Spring容器自身维护的Map<Id,Object对象>

知识点:反射机制调用对象的无参构造实例化对象.


        1. DI (依赖注入)

说明:为对象的属性赋值!!

将Spring容器中管理的对象最终通过set/构造器方式为对象的属性赋值.

注入方式:


  1. Set注入   
  2. 构造器注入
  3. 注解形式
      1. AOP(面向切面编程)

核心思想:使用代理实现业务解耦.对原有的方式实现了扩展.

 AOP组成部分:


  1. 切入点(判断作用)
  2. 通知(5大通知类型, 环绕通知功能最为强大.)
        1. 环绕通知执行过程

 


        1. 前置通知

 


        1. 异常通知

 


        1. 关于AOP总结
  1. AOP中环绕通知使用是最多.因为可以控制目标方法是否执行.
  2. 另外四大通知类型 只做记录.不做修改.
    1. SpringMVC
      1. SpringMVC作用

核心:实现了用户的交互.接收用户的参数,最终将”响应”的结果返回给用

户.

说明:SpringMVC底层封装了Servlet.极大的简化程序取值赋值的过程.

Servlet复习


  1. 配置繁琐:

在web.xml中必须配置8行标签.


  1. 取值赋值繁琐

  1. 利用Request/Response对象完成取值赋值操作.
  2. 获取的数据都是String类型.如果需要获取其他数据类型需要进行强转.
      1. SpringMVC调用原理流程

重点知识:

 


推荐阅读
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 本文讨论了在进行 MySQL 数据迁移过程中遇到的所有 .frm 文件报错的问题,并提供了详细的解决方案和建议。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 本文详细探讨了几种常用的Java后端开发框架组合及其具体应用场景。通过对比分析Spring Boot、MyBatis、Hibernate等框架的特点和优势,结合实际项目需求,为开发者提供了选择合适框架组合的参考依据。同时,文章还介绍了这些框架在微服务架构中的应用,帮助读者更好地理解和运用这些技术。 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
  • 通过利用代码自动生成技术,旨在减轻软件开发的复杂性,缩短项目周期,减少冗余代码的编写,从而显著提升开发效率。该方法不仅能够降低开发人员的工作强度,还能确保代码的一致性和质量。 ... [详细]
  • 针对MySQL Undo空间满载及Oracle Undo表空间溢出的问题,本文详细探讨了其原因与解决策略。首先,通过启动SQL*Plus并以SYS用户身份登录数据库,查询当前数据库的UNDO表空间名称,确认当前状态。接着,分析导致Undo空间满载的常见原因,如长时间运行的事务、频繁的更新操作等,并提出相应的解决方案,包括调整Undo表空间大小、优化事务管理、定期清理历史数据等。最后,结合实际案例,提供具体的实施步骤和注意事项,帮助DBA有效应对这些问题。 ... [详细]
  • 在Java分层设计模式中,典型的三层架构(3-tier application)将业务应用细分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层结构不仅有助于提高代码的可维护性和可扩展性,还能有效分离关注点,使各层职责更加明确。通过合理的设计和实现,三层架构能够显著提升系统的整体性能和稳定性。 ... [详细]
  • 在探讨Hibernate框架的高级特性时,缓存机制和懒加载策略是提升数据操作效率的关键要素。缓存策略能够显著减少数据库访问次数,从而提高应用性能,特别是在处理频繁访问的数据时。Hibernate提供了多层次的缓存支持,包括一级缓存和二级缓存,以满足不同场景下的需求。懒加载策略则通过按需加载关联对象,进一步优化了资源利用和响应时间。本文将深入分析这些机制的实现原理及其最佳实践。 ... [详细]
  • PHP自学必备:从零开始的准备工作与工具选择 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文对SQL Server系统进行了基本概述,并深入解析了其核心功能。SQL Server不仅提供了强大的数据存储和管理能力,还支持复杂的查询操作和事务处理。通过MyEclipse、SQL Server和Tomcat的集成开发环境,可以高效地构建银行转账系统。在实现过程中,需要确保表单参数与后台代码中的属性值一致,同时在Servlet中处理用户登录验证,以确保系统的安全性和可靠性。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
author-avatar
另df外一个自我_198
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有