java中spring框架讲解(Java入门级程序员如何学习Spring)

 2024-04-24  阅读 265  评论 0

摘要:要想学习好Spring、Struts、Hibernate三大框架,我们首先应该搞清楚这三个框架分别是做什么的,在Java开发中具有什么样的作用。理清框架中具体的知识点是我们开始Java基础学习的关键所在,下面我就分别解读下这三个框架,希望对大家有帮助:1、Spring:DI/AOPSpring对应的

要想学习好Spring、Struts、Hibernate三大框架,我们首先应该搞清楚这三个框架分别是做什么的,在Java开发中具有什么样的作用。理清框架中具体的知识点是我们开始Java基础学习的关键所在,下面我就分别解读下这三个框架,希望对大家有帮助:

java中spring框架讲解(Java入门级程序员如何学习Spring)(1)

1、Spring:DI/AOP

Spring对应的关键词是DI(依赖注入)与AOP(面向切面编程),可以认为是一个以DI和AOP为核心Java Web一站式的集成(粘合)框架。

其中DI也称为IoC(控制发转)用于管理Java对象之间的依赖关系(一定要说DI是IoC实现方式的童鞋们见评论区),AOP用于解耦业务代码和公共服务代码(如日志,安全,事务等)。DI和AOP能够让代码更加简单,具有良好的松耦合特性和可测试性,极大地简化开发。理解这两者是使用Spring框架的基础。

Spring框架对Java企业应用开发中的各类通用问题都进行了良好的抽象,因此也能够把应用各个层次所涉及的特定的功能和开发框架方便得组合到一起。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进行数据库访问的正常流程可以分为以下几步:

  1. 准备好SQL语句
  2. 调用JDBC的API传入SQL语句,设置参数
  3. 解析JDBC返回的结果

这个过程实际上非常麻烦,比如:

  • 在Java代码中拼接SQL非常麻烦,而且易于出错
  • JDBC的代码调用有很多重复性的代码
  • 从JDBC返回的结果转换成领域模型的Java对象很繁琐

而使用ORM框架,则可以让我们用面向对象的方式来操作数据库,比如通过一个简单的函数调用就完成上面整个流程,直接返回映射为Java对象的结果。这个流程中很大一部分工作其实可以交给ORM自动化地帮我们执行。

其实作为Java初学者除了简单的学习框架本身,还需要思考更多的东西,比如有框架和没有框架到底给你带来了什么?用Struts,要充分的理解MVC思想,用Hibernate,要明白什么是持久化,什么是OR/mapping,用Spring,你要明白什么是依赖注入,什么是AOP和IOC。就算你不能精通这些概念的东西,也要大致能够理解,当你明白了概念的东西,Hibernate要换成Mybaits,Struts换成SpringMVC,甚至其他的框架,都是没有问题的,你都能快速上手。

如果觉得文章有用请大家尽情转发 收藏,获取更多编程干货欢迎大家关注我的头条号~

,

版权声明:xxxxxxxxx;

原文链接:http://cn.tdroid.net/ce786Cz0NAA8AVA.html

发表评论:

管理员

  • 内容268001
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:
注册登录
注册帐号
登录帐号

Copyright © 2022 太卓开发网 Inc. 保留所有权利。 泰达科技网易库网

页面耗时0.0824秒, 内存占用1.33 MB, 访问数据库18次