Spring框架开发的意义

2019-04-03  本文已影响0人  Scalelength

任何的Java的开发框架其产生都只有一个前提目的:为了更方便的MVC开发。

对于mvc的技术开发的问题

显示层

1.负责数据的页面展示

2.联合HTML、CSS、JavaScript

使用技术

JSP+EL+JSTL+JavaScript+DOM+AJAX


替换为

jQuery+JSON

简化数据的传输,同时隐藏DOM操作的细节,或者使用Bootstrap等前台框架进行修饰(简化了DIV+CSS);

控制层

1.服务器端验证

2.数据的接受与POJO转换

3.调用业务层

4.进行显示层跳转

Servlet


替换为

利用Struts2.x完成,提供了拦截器进行数据验证、提供了自动的数据类型转换(与VO的处理操作)、方便用户进行数据上传操作、所有的资源配置容易、跳转路径配置容易

业务层

1.负责数据库的打开与关闭

2.调用数据层并且整理数据

3.处理事务

Java原生编码

数据层

1.只是负责数据的CRUD(增删改查)

JDBC原生编码


替换为

Hibernate代替已有的JDBC处理,利用了Hibernate提供的单表数据、数据查询、数据关联、缓存机制等概念提升数据库的操作性能与代码的开发简化;

总结

使用JSP+Servlet+JDBC开发,代码简单,但维护特别麻烦

1.数据层依然需要定义操作接口标准、定义子类、要准备DAOFactory;

2.业务层依然要负责关闭数据库、手工处理事务、利用工厂类调用数据层、定义自己的ServiceFactory;

3.在数据层里面一绕需要业务层工厂类取得相应的对象信息。

Spring诞生

解决了横切面编程以及注入编程的窘境,同时当时世界上兴起了开源框架的开发风潮。

最早的Spring提供的是一个工厂设计模式,同时也提供了不同开发框架的资源整合

Spring结构图

Spring本身是一个容器,负责维持对象的状态,或者是后一个操作的横切。而在整个Spring提供如下的核心组件:

1.容器核心组件:

Beans:表示的是Spring对所有Bean对象的管理,主要是包含了对象间的关系和一些对象实例化操作

Core:包含了最底层的开发支持,例如:以来的注入关系、资源文件的访问,

Context:提供的是一个完整的容器上下文,这个上下文可以处理对象生命周期或者是事务

表达式语言模块:利用SpEL实现表达式语言的操作,以增强String的功能

2.切面编程

AOP:是Spring的灵魂,利用切面编程来解决所有的辅助性操作,例如:数据库关闭、事务处理

Aspect:表示的是切面编程的语法支持,该语法形式最早起源于Apache中的

Instrumentation:是在JDK1.5之后增加的一个组件,主要用于检测JVM

3.数据访问模块

JDBC:在整个Java之中,对于数据库的操作只有一种JDBC一种操作方式,在Spring中也提供有专门的ORMappin框架,这个框架利用JDBC版原声完成;

ORM:ORMapping框架的处理操作,可以方便的整合:JDO、Hibernate、IBatis、MyBatis等常见组件

OXM:提供了一个对象与XML文件之间的互相转换;

JMS:提供有消息服务的支持

Transactions:表示在数据访问模块支持

4.WEB支持模块

MVC:Spring提供有自己的MVC实现;

Struts:Spring方便的支持Struts的管理(是Struts2.x)

Servlet:自己负责处理的MVC的Servlet程序类。

Spring典型场景

总结

1.Spring中避免了关键new造成耦合的问题

2.Spring本身就是一个工厂,不需要在编写工厂类了

3.Spring不再需要进行明确的引用关系的传递,直接通过配置完成

4.所有框架几乎都可以在Spring中整合在一起使用

5.Spring编程=Factory设计模式+Proxy设计模式    

上一篇下一篇

猜你喜欢

热点阅读