大纲:
一、Spring Framework 开发框架简介
Spring开发框架是简化业务层的开发而出现的,每一个开发框架的出现基本上都是为了更加方便辅助MVC开发,所谓的MVC开发就是将业务、显示、数据、控制相分离,每一层的操作互补干扰。
MVC模式:
M代表模型层:负责后台业务逻辑操作和数据操作。即(业务层 + 数据层)
V代表显示层:和用户交互的页面
C代表控制层:是显示层和模型层中间的枢纽,负责路径的跳转,调用模型层完成相应的业务逻辑处理,最终完成数据的操作。
在早期Struts开发框架还在盛行的时候,后台的数据层有了Hibernate开发框架的支持,可以动态的拼接SQL,提供了缓存机制等功能,方便了数据层的开发,不再用原生的JDBC进行数据的操作。
而显示层基本使用HTML、CSS完成静态页面的搭建,加一点JavaScript来达到动态的效果,如果用jsp技术的话,还可以使用EL、JSTL标签进行渲染的简化,加上JQuery前端框架和JSON,Ajax的搭配组合,给前端的开发带来了不小的便利。
而控制层有Struts框架来简化,简化路径跳转的业务逻辑,提供了数据与实体类类型动态转化,还有大量的标签使用等等,此时可以发现每一层都有相应的开发框架进行简化操作,而业务层还需要使用原始的方法,调用数据库时,需要手动打开数据库连接,手动的进行数据库的事务操作,手动的关闭数据库连接。
Spring框架就是简化业务层的开发,将与核心的操作不相关的提取出来,框架自动完成,而开发者只需要关注业务最核心的操作即可。如果数据增加,那么开发者只需要关心增加这一个操作,而不需要关心增加前需要获取数据库的链接,进行增加后事务的处理操作和数据库的关闭操作。
Spring整个功能如上图:
Spring核心操作:
Beans:主要用来表示对象的关系的配置,实例化对象的管理
Core:主要提供最底层的开发支持,如依赖注入,资源读取,类型转换等
Context:主要用来描述对象的整个上下文生命周期监听
Expression Language:主要用来描述Spring提供的表达式语言,SpEL操作。
AOP:利用切面编程来完成开发中辅助性的操作
Aspects:是AOP切面编程的语法支持
Instrumentation:提供的一个组件,可以用来监听JVM中的一些动态操作
Spring对数据层提供支持:
JDBC:Spring的一个JDBC的ORMapping框架,利用JDBC原生完成。
ORM:表示用来整合第三方的ORMapping开发框架
OML:表示对象和xml文件的转换
JMS:提供的消息组件支持
Spring对web提供支持:
Servlet:由Spring来处理MVC的Servlet程序类
Struts:方便整合第三方的web框架,spring也提供了自己的MVC实现方式。