为什么要用SSH
来源:互联网 发布:阿里云开启21端口 编辑:程序博客网 时间:2024/05/18 03:32
1. Spring:DI/AOP
Spring对应的关键词是DI(依赖注入)与AOP(面向切面编程),可以认为是一个以DI和AOP为核心Java Web一站式的集成(粘合)框架。
其中DI也称为IoC(控制发转)用于管理Java对象之间的依赖关系,AOP用于解耦业务代码和公共服务代码(如日志,安全,事务等)。DI和AOP能够让代码更加简单,具有良好的松耦合特性和可测试性,极大地简化开发。理解这两者是使用Spring框架的基础。
Spring框架对Java企业应用开发中的各类通用问题都进行了良好的抽象,因此也能够把应用各个层次所涉及的特定的功能和开发框架(如接下来要说的MVC框架、ORM框架)方便得组合到一起(这也得益于依赖注入和面向切面编程带来的强大功能)。Spring是一个极其优秀的一站式的Full-Stack集成框架,因此基于Spring核心,对Java应用开发中的各类通用问题几乎都提供了针对性的开发框架,比如你耳熟能详(如果你对这个问题感兴趣的话)的Spring MVC,Spring Data。
2. Struts:MVC
Struts是一个Java Web MVC开发框架。MVC早在1978年就作为Smalltalk的一种设计模式被提出来了,引用到Web应用中来时:- 模型Model用于封装与业务逻辑相关的数据和数据处理方法
- 视图View是数据的HTML展现
- 控制器Controller负责响应请求,协调Model和View
Model,View和Controller的分开,是一种典型的关注点分离的思想,不仅使得代码复用性和组织性更好,使得Web应用的配置性和灵活性更好。
MVC开发模式下,Java Web开发会遇到URL路由、模板渲染、表单绑定/提交/验证、Session封装、权限验证、国际化等一系列通用的问题,而MVC框架会将这些通用问题都封装进框架中,你在应用中根据自己的场景进行简单的配置和编码即可,MVC框架就能帮你处理好一切,可以极大地简化代码。
Struts曾经是最流行的Java Web MVC框架,现在常见的选择是Spring MVC。
3. Hibernate:ORM
Hibernate是一个Java ORM开发框架
ORM是Object Relation Mapping的缩写,顾名思义,即对象关系映射。
ORM是一种以面向对象的方式来进行数据库操作的技术。Web开发中常用的语言,都会有对应的ORM框架。而Hibernate就是Java开发中一种常用ORM框架,另一个现在流行的ORM框架是Mybatis。
为什么需要ORM框架?
简单地理解,通过Java进行数据库访问的正常流程可以分为以下几步:- 准备好SQL语句
- 调用JDBC的API传入SQL语句,设置参数
- 解析JDBC返回的结果
- 在Java代码中拼接SQL非常麻烦,而且易于出错
- JDBC的代码调用有很多重复性的代码
- 从JDBC返回的结果转换成领域模型的Java对象很繁琐
而使用ORM框架,则可以让我们用面向对象的方式来操作数据库,比如通过一个简单的函数调用就完成上面整个流程,直接返回映射为Java对象的结果。这个流程中很大一部分工作其实可以交给ORM自动化地帮我们执行。对,类似MVC框架,ORM框架会帮你处理好相关的繁琐事情!
- 为什么要用SSH?
- 为什么要用SSH?
- 为什么要用SSH
- ssh hibernate struts spring 工作原理及为什么要用
- ssh hibernate struts spring 工作原理及为什么要用
- ssh hibernate struts spring 工作原理及为什么要用
- SSH系列(二)--为什么要用Hibernate,给个理由先?
- SSH系列(二)--为什么要用Hibernate,给个理由先?
- 为什么使用框架?SSH
- 为什么我们要使用ssh框架技术,及感想
- 【SSH系列】spring中为什么要使用IOC
- 为什么我们要使用ssh框架技术,及感想
- 项目中为什么使用SSH
- github为什么需要ssh key
- 关于ssh为什么要在DAO层实现类中继承HibernateDaoSupport的原因
- SSH的原理及为什么使用
- J2EE项目中为什么选择SSH框架
- ssh整合原理及其为什么使用
- Android 6.0以上运行权限及RxPermissions的使用
- 【一笑能剧烈改变内心的环境】若是…
- Spring注解学习之旅(001)项目的创建
- 【幼儿成长教育:强迫与自主】现在…
- 【前女友到底存何居心?】旧情人的…
- 为什么要用SSH
- oracle数据库创建新的一列并将这一列值刷为不重复值
- 【前男友就像潘朵拉的盒子,遇到他…
- 【人生中总要有那么一两次Try&nbsp…
- 更改系统时间
- 【不要娇生惯养,而要适时鼓励】带…
- 【妈妈,如果你没有生我们的话,你…
- Java多态调用机制理解
- N!后面0的个数