热门标签 | 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,同时确保高度的安全性和灵活性。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 使用 GitHub、JSDelivr、PicGo 和 Typora 构建高效的图床解决方案
    本文详细介绍了如何利用 GitHub 仓库、JSDelivr CDN、PicGo 图床工具和 Typora 编辑器,搭建一个高效且免费的图床系统。通过此方案,用户可以轻松管理和上传图片,并在 Markdown 文档中快速插入高质量的图片链接。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • TCP长连接设备管理平台:架构与功能概览
    本文介绍了基于TCP长连接的设备管理平台的设计理念、技术选型及主要功能模块。最初,项目旨在实现简单的协议测试,但随着需求扩展,逐步演变为一个完整的前后端分离系统。 ... [详细]
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • 鼠标悬停出现提示信息怎么做
    概述–提示:指启示,提起注意或给予提醒和解释。在excel中会经常用到给某个格子增加提醒信息,比如金额提示输入数值或最大长度值等等。设置方式也有多种,简单的,仅为单元格插入批注就可 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • Vue 开发与调试工具指南
    本文介绍了如何使用 Vue 调试工具,包括克隆仓库、安装依赖包、构建项目以及在 Chrome 浏览器中加载扩展的详细步骤。 ... [详细]
  • springMVC JRS303验证 ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 本文详细介绍了JSP(Java Server Pages)的九大内置对象及其功能,探讨了JSP与Servlet之间的关系及差异,并提供了实际编码示例。此外,还讨论了网页开发中常见的编码转换问题以及JSP的两种页面跳转方式。 ... [详细]
  • Asp.net MVC 中 Bundle 配置详解:合并与压缩 JS 和 CSS 文件
    本文深入探讨了 Asp.net MVC 中如何利用 Bundle 功能来合并和压缩 JavaScript 和 CSS 文件,提供了详细的配置步骤和示例代码,适合开发人员参考学习。 ... [详细]
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社区 版权所有