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

java开发中常用框架优缺点

一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2优点1、实现

一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
Struts2优点
1、实现了MVC模式,层次结构清晰。
2、拥有丰富的标签库,大大的提高了开发的效率。
3、使用了OGNL:OGNL可以快速的访问值栈中的数据、调用值栈中对象的方法。
4、提供了丰富的拦截器。
5、Struts2为多种视图选项(JSP、Velocity等)提供支持。

二、Hibernate是一种ORM框架,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象
Hibernate的优点和缺点
优点:
1、提高了生产效率
2、更好的移植性,对于不同的数据库,开发者只需要使用相同的数据操作即可。
3、映射的灵活性,它可以支持各种关系数据库,从一对多到多对多的各种复杂关系。
4、提供了一级缓存(Session)和二级缓存(SessionFactory)。
缺点:
1、由于对持久层封装过于完整,导致开发人员无法对SQL进行优化。
2、项目中的ORM原则,导致配置过于复杂。
3、执行效率和原生的JDBC相比偏差:特别是在批量数据处理的时候。
4、不支持批量删除、修改。

Hibernate如何延迟加载(懒加载)
1、当调用session的load()方法加载实体类时,就会延迟加载。
2、当Session加载某个实体时,会对这个实体中的集合属性值采用延迟加载。

三、Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题
Spring是什么及Spring的优点
1、Spring是一个轻量级的IOC和AOP容器框架。
2、声明事物的支持。
3、Spring是个容器,因为它包含并且管理应用对象的生命周期和配置,比如对象的创建、销毁、回调等。
4、降低Java EE API的使用难度。
5、Spring提供了对各种优秀框架(如Struts,Hibernate等)等的直接支持。

Spring的注入方式有哪些
Spring主要有三种注入方式:造方法注入,setter注入,接口注入。

四、SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。
springmvc怎么防止SQL注入
使用SpringMVC的拦截器实现防止SQL注入。

五、MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。
讲一下mybatis的缓存机制
Mybatis的缓存机制有两级:
一级缓存(SqlSession级别):一级缓存mybatsi已近为我们自动开启,不用我们手动操作,而且我们是关闭不了的!!但是我们可以手动清除缓存。
二级缓存:mapper级别的缓存,也是基于hashmap本地缓存,不同的sqlSession两次执行相同的namespace下的sql语句,第二次查询就不会进行数据库了(二级缓存需要我们手动开启)。

SSH与SSM有什么区别
SSH指的是:Struts+Spring+Hibernate
SSM指的是:Spring+SpringMVC+MyBatis

Hibernate与Mybatis区别
1、mybatis属于半自动化,sql需要手工完成,稍微繁琐。
2、hibernate入门门槛较高的,不需要程序写sql,sql语句自动生成了。对sql语句进行优化、修改比较困难的。

Springmvc与struts2区别
1、Struts2 的核心是基于一个Filter。
2、SpringMvc的核心是基于一个Servlet(前端控制器)。
3、Struts2的OGNL表达式使页面的开发效率相比SpringMVC更高些。
4、SpringMVC使用简洁,开发效率比Struts2高,支持JSR303,处理ajax请求方便。
---------------------
作者:weixin_42044993
来源:CSDN
原文:https://blog.csdn.net/weixin_42044993/article/details/86532361
版权声明:本文为博主原创文章,转载请附上博文链接!


推荐阅读
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文详细介绍了 Java 中 org.apache.xmlbeans.SchemaType 类的 getBaseEnumType() 方法,提供了多个代码示例,并解释了其在不同场景下的使用方法。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文详细介绍了在企业级项目中如何优化 Webpack 配置,特别是在 React 移动端项目中的最佳实践。涵盖资源压缩、代码分割、构建范围缩小、缓存机制以及性能优化等多个方面。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • 本文详细介绍了如何使用Spring Boot进行高效开发,涵盖了配置、实例化容器以及核心注解的使用方法。 ... [详细]
  • 该平台旨在为大型企业提供一个高效、灵活且可扩展的分布式微服务架构解决方案。它采用模块化、微服务化和热部署的设计理念,结合当前最先进且无商业限制的主流开源技术,如Spring Cloud、Spring Boot2、MyBatis、OAuth2和Element UI,实现前后端分离的系统管理平台。 ... [详细]
  • 深入解析:阿里实战 SpringCloud 微服务架构与应用
    本文将详细介绍 SpringCloud 在微服务架构中的应用,涵盖入门、实战和案例分析。通过丰富的代码示例和实际项目经验,帮助读者全面掌握 SpringCloud 的核心技术和最佳实践。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 深入理解一致性哈希算法及其应用
    本文详细介绍了分布式系统中的一致性哈希算法,探讨其原理、优势及应用场景,帮助读者全面掌握这一关键技术。 ... [详细]
author-avatar
请让我来打酱油
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有