Spring学习--------------了解及介绍

关于Spring的学习记录:

一、
任何框架其产生的都只有一个前提目的:为了更方便的MVC开发,对于MVC的技术开发不得不说的几个问题:

显示层:1.负责数据的页面展示  2.联合HTML、CSS、JavaScript
JSP+EL+JSTL  
jQuery+JSON

控制层:1.服务器端验证  2.数据的接收与POJO转换  3.调用业务层  4.进行显示层跳转
Servlet

业务层:1.负责数据库的打开与关闭  2.调用数据层并且整理数据  3.处理事务
Java原生编码

数据层:1.只是负责数据的CRUD
JDBC原生编码

显示层:jQuery+JSON,简化数据的传输,同时隐藏DOM操作的细节,使用Bootstrap等前台框架进行页面修饰(简化DIV+CSS);
控制层:利用Struts2.x完成,提供了拦截器进行数据验证,提供了自动的数据类型转换(与VO的处理操作),方便用户进行数据上传操作,所有的资源配置容易,跳转路径配置容易
数据层:使用Hibernate代替了已有的JDBC处理,利用了Hibernate提供的单表映射、数据查询、数据关联、缓存机制等概念提升数据库的操作性能与代码的开发简化


二、Spring整体介绍
在2000年之后,第一个集合的大工厂的框架----Spring诞生了,它的诞生是解决了横切面编程以及注入编程的窘境,同时当时世界上兴起了开源框架的开发风潮,但是哥哥框架之间的整合操作变为了一个新的问题,而Spring解决了这个问题。也就是说最早的Spring提供的是一个工厂设计模式,同时也提供了不同开发框架的整合



首先需要明确的是,Spring本身提供的是一个自己的容器,如果是容器,那么容器可以负责维持对象的状态,或者是某一个操作的横切。而在整个Spring提供有如下的核心组件:
1.容器核心组件:
**Beans:表示的是Spring对所有Bean对象的管理,主要是包含了对象间的关系配置以及一些对象实例化操作
**Core:包含了最底层的开发支持,例如:依赖的注入关系、资源文件的访问,数据类型的转换
**Context:提供的是一个完整的容器上下文,在这个上下文可以处理对象生命周期或者是事务
**表达式语言模块:利用SpEL实现表达式语言的操作,以增强String的功能
2.切面编程:
**AOP:是整个Spring的灵魂所在,利用切面编程来解决所有的辅助性操作,例如:数据库的关闭、事务处理
**Aspect:表示的是切面编程的语法支持,该语法形式最早起源于Apache中的AspectJ组件
**Instrumentation:是在JDK1.5之后增加的一个组件,主要用于检测JVM在运行中的代码的动态处理过程
3.数据访问模块
**JDBC:在整个java之中,对于数据库的操作只有JDBC一种操作形式,所以在Spring里面也提供有专门的ORMapping框架,这个框架就利用JDBC半原生完成
**ORM:ORMapping框架的处理操作,可以方便的整合:JDO、Hibernate、IBatis、MyBatis等厂家爱你组件
**OXM:提供了一个对象与XML文件之间的互相转换
**JMS:提供有消息服务的支持
**Transactions:表示在数据库访问模块支持了事务的操作处理
4.WEB支持模块
**MVC:Spring提供有自己的MVC实现(是目前实现最好的一种)
**Struts:Spring方便的支持Struts的管理(方便的是Struts 2.x而不是Struts 1.x)
**Servlet:自己负责处理MVC的Servlet程序类
现在可以发现,整个Spring完全承办了一个项目能够独立开发,并且可以容纳其他框架同时存在的综合性框架,不想Struts只能够负责控制层,而Hibernate只能够负责数据层,Spring全都可以进行负责



总结:1.Spring中避免了关键字new造成的耦合的问题  2.Spring本身就是一个工厂,不需要再编写工厂类了   3.Spring不再需要进行明确的引用关系的传递,直接通过配置完成  4.所有框架几乎都可以在Spring中整合在一起使用  5.Spring编程 = Factory设计模式 + Proxy设计模式

猜你喜欢

转载自blog.csdn.net/amuist_ting/article/details/80693279
今日推荐