热门标签 | 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
版权声明:本文为博主原创文章,转载请附上博文链接!


推荐阅读
  • 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之六 || API项目整体搭建 6.1 仓储模式
    代码已上传Github+Gitee,文末有地址  书接上文:前几回文章中,我们花了三天的时间简单了解了下接口文档Swagger框架,已经完全解放了我们的以前的Word说明文档,并且可以在线进行调 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 花瓣|目标值_Compose 动画边学边做夏日彩虹
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Compose动画边学边做-夏日彩虹相关的知识,希望对你有一定的参考价值。引言Comp ... [详细]
  • Django + Ansible 主机管理(有源码)
    本文给大家介绍如何利用DjangoAnsible进行Web项目管理。Django介绍一个可以使Web开发工作愉快并且高效的Web开发框架,能够以最小的代价构建和维护高 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 本文详细介绍了Mybatis中#与$的区别及其作用。#{}可以防止sql注入,拼装sql时会自动添加单引号,适用于单个简单类型的形参。${}则将拿到的值直接拼装进sql,可能会产生sql注入问题,需要手动添加单引号,适用于动态传入表名或字段名。#{}可以实现preparedStatement向占位符中设置值,自动进行类型转换,有效防止sql注入,提高系统安全性。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • Kali Linux 简介
    KaliLinux是世界渗透测试行业公认的优秀的网络安全审计工具集合,它可以通过对设备的探测来审计其安全性,而且功能完备,几乎包含了目前所 ... [详细]
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社区 版权所有