关于Spring的简介,我在这里就不描述了。直接上干货:它最核心的理念是Ioc(控制翻转)和AOP(面向切面变成),其中IOC是Spring的基础,而AOP则是其最重要的功能,最为典型的当属数据库事务的使用。
1.Spring IoC概述控制反转是一个比较抽象的概念,对于初学者不好理解。我们举例说明,比如在现实生活当中,人们在需要一样东西,我们的基本想法就是找东西。比如我们想喝橙子,在没有饮品店的时候。我们最直观的想法就是做一杯橙子(需要水,果汁机,糖,橙子),注意这是你自己主动创造一杯橙汁的过程。然而到今时今日饮品店盛行的时代,就没有必要自己去手动做橙汁了。想喝橙汁直接打个电话联系到饮品店然后下单你想要什么口味的橙汁就行了。过会就会有人送上门。这只是举了一个很简单的例子,但这个例子当中包含了控制反转的思想,在一个团队当中是由许多开发者组成。假设你现在在一个电商网站负责开发工作,你熟悉商品交易流程,但是对财务却不怎么熟悉。而团队中有些成员对财务处理很熟悉,在商品交易流程需要调度财务的相关接口才能实现。
那么你应该会想:
1. 熟悉财务的同事开发对应的接口; 2.自己请力亲去学习财务处理然后开发对应的接口;其实这就完全可以刚刚举例的橙汁例子进行类比,橙汁就等同与财务接口。而熟悉财务的同事等同与饮品店。根据你描述的橙汁的要求,联系方式,送货上门的地址。就等同获取财务接口实例的描述。虽然你没有主动去处理开发对应的财务接口,把主动权交给了同事,这就是控制反转的概念。 为了更好的阐述上面的抽象描述,用java代码形式模拟主动创建和别动创建的过程。
2.主动创建对象我需要一杯橙汁 原料:橙子 ,糖 ,水; 搅拌机是工具
package com.spring.chapter; /** * * @author Administrator * 水果搅拌机 */ public class Blender { public String mix(String water,String fruit,String sugar){ String juice="这是一杯由液体:"+water+"\n 水果:"+fruit+"\n 糖量:"+sugar+"\n组成的果汁"; return juice; } }