Spring 简介-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Spring 简介

简介: 什么是框架: 框架就是制订一套规范或规则,程序员在该规范或规则下工作,形象地说就是在搭好的舞台上表演; 框架的特点: 1、半成品; 2、封装了特定的处理流程与控制逻辑; 3、成熟的、不断升级改进的软件; 框架与类库的区别: 框架一般是封装了逻辑、高内聚的,类库则是松散的工具组合...


什么是框架:
	框架就是制订一套规范或规则,程序员在该规范或规则下工作,形象地说就是在搭好的舞台上表演;
框架的特点:
	1、半成品;
	2、封装了特定的处理流程与控制逻辑;
	3、成熟的、不断升级改进的软件;
框架与类库的区别:
	框架一般是封装了逻辑、高内聚的,类库则是松散的工具组合;
	框架专注于某一领域,类库则是更通用;
为什么使用框架?
	软件系统日趋复杂;
	重用度高,开发效率与质量提高;
	是软件设计人员要专注于对领域的了解,是需求分析更加充分;
	一般框架配有完整的使用文档,易于上手,快速解决问题

spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架
	轻量:大小、开销轻量
	通过IoC达到松耦合
	提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发
	包含并管理应用对象的配置和生命周期,是一种容器
	将简单的组件配置、组合成为复杂的应用,是框架

IOC我的理解就是面向接口的编程。
	举个例子,你在main方法里要运用一个磁盘传输数据的方法:
	磁盘 a=new 磁盘();
	但是如果现在要求你使用U盘来实现传输数据的功能怎么办?
	U盘 u=new U盘();?
	这就导致对于底层的过度依赖,java思想是下层为上层服务,底层对程序拥有的控制权
	所以就必须使用接口的方式,使得磁盘和U盘同时实现设备这个接口里的方法。接口 i=new 磁盘()或者new U盘();

因为java的对象是在运行期才会被创建的,而非编译器。但是这样仍然存在着问题,就是每次要改动对象类型的时候还是要到程序里去做修改,如果有了xml文件的话,可以直接修改xml文件。
所以这就是IOC的大致思想。
控制反转的意思就是将底层对程序拥有的控制权转移给了接口!!!实现了接口控制的方式!
当然这只是他的核心思想,IOC里面还有其他的东西值得继续研究。

切面编程,就是在你项目原有的功能基础上,通过AOP去添加新的功能,这些功能是建立在原有功能的基础上的,而且原有的功能并不知道你已经添加了新的功能。比如说,你去ATM取钱,取钱是一个功能,取完钱后向你的手机发送一条取钱信息,这就是新加的功能。
结构:

作用:

1.容器

2.提供了对多种技术的支持

JMS

MQ支持

UnitTest等……

3.AOP(事务管理、日志等)

4.提供了众多方便应用的辅助类(JDBC Template等)

5.对主流应用框架(Hibernate等)提供了良好的支持


适用范围:

1.构建企业应用(SpringMVC+Spring+Hibernate/iBatis)

2.单独使用Bean容器(Bean管理)

3.单独使用AOP进行切面处理

4.其他的Spring功能,如:对消息的支持等

5.在互联网中的应用




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章