什么是框架?
————框架是第三方公司或者个人做的封装。
粗俗地打个比方:假如我们要有效地保存管理一批不同种类的首饰(对象)供化妆师(用户)使用,你需要如下步骤
1、手工做一些容纳这些首饰的盒子(容器),
2、把手串放一个盒子里,项链放另一个盒子里,戒指啊手表啊统统分类放在不同的盒子里(封装、解耦)
注意:如果一套首饰看起来很搭就放在一个盒子里(高耦合),就会造成化妆师下次想换搭首饰的时候不好处理,所以要分类封装(高内聚、低耦合)。
3、提供从不同盒子里能取出什么样的首饰,和取出它们的方法(数据库交流)
4、重要的是:怎样保存和管理这些首饰,以供化妆师有效使用(业务)
而Spring框架相当于做好的首饰盒,抽屉(容器)、标签(数据库交流)都弄好了,并且通过XML加反射的方法或者@注解的方式实现解耦,剩下的只需要我们处理最关键的保存管理(业务)问题就行了。
框架有什么特点?
1、 帮助我们提高开发效率,专注于业务的实现。
2、 每个框架都代表了某一方面的功能,程序员不用关注框架中的具体实现,至于要了解怎么用即可。
3、 框架将后端的架构分解为多个层次,维护拓展任何一个层都很少影响其他层,灵活性得到提高,副作用是带来了复杂性,简单的数据增删改查四个功能需要经过MVC三层,可能产生更多道工序的开发。
认识Spring框架——java开发历史中的春天
在JAVA开发中,首先到来的是重量级分布式开发框架,由于其臃肿的层次结构,和大量的开发代码,现在一些轻量级的开发框架正在占据主流地位。
JAVA开发中常见的Spring框架,就是一个开源的轻量级应用开发框架,常用于企业级应用程序开发,降低耦合,并且可以整合市面上常见的开发框架,它的最大的目的就是使J2EE开发更加容易,使得我们能更轻松灵活地应用Spring。
所谓的耦合,指的是具体类之间的关系,为了实现层级间某些功能,本类往往要调用相邻层的其他类,这就导致了如果调用的类发生变化,本类中也可能发生变化。
零耦合: 具体类之间没有关系
抽象耦合: 类里耦合的是接口或者抽象类(相关组织就将这些接口抽取出来,组合成标准/规范,如J2EE规范、spring规范、jsr330标准)
具体耦合: 类里耦合的是具体的实现类(开发中需要避免)
Spring框架中的模块/组件
1. spring IOC 控制反转
2. spring DI 依赖注入
3. spring AOP spring的面向切面
4. spring 事务 spring的事务管理
5. spring jdbc spring的数据库操作
much more... 其他…….
组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。