Spring框架学习(二)

来源:互联网 发布:库里本赛季数据统计 编辑:程序博客网 时间:2024/05/16 19:03

本篇主要涉及Spring环境的搭建,以及对IOC和DI进行描述

1.jar包下载



初学者可能进入Spring官网找不到jar包的下载地址,上图就是找到jar包的路径

2.面向接口编程

面向接口编程并不是比面向编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于一部分,是面向对象编程体系的思想精髓之一。面向接口编程就是在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向上层提供服务(即不是实例化在上层中),而是定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不是依赖具体实现类。

使用接口的好处:

(1)系统灵活性,当下层需要改变,只要接口及接口功能不变,则上层不用做任何修改。甚至不用改动上层代码就能将下层整个换掉。接口概念可参考移动硬盘与计算机的接口

(2)不同部件或不同层次的开发人员可以并行开工。

(3)接口代码量少 ,清楚知道每个方法对应的功能。

接口是一组规则的结合,它规定实现本接口的类或接口必须拥有的一组规则,体现自然界“如果你是。。。。则必须能。。”,接口是在一定粒度视图上同类事物的抽象表示。


3.代码编写

我是根据极客学院的教学视频进行参考的,代码是我自己编写的。

需求:定义一个helloMessage接口,定义了一个方法sayHello方法,该接口有两个实现类helloChina和helloWorld,分别返回字符串,‘大家好!’和‘hello world!’,在Person类中调用接口的sayHello方法。工程截图如下:


在Bean的配置文件中向Person中注入helloMessage,并声明该接口所实例化的类

依赖注入就是将我们所需的对象注入到目标对象中,这边就是将helloMessage的实例对象注入到Person类中




运行main程序:

控制台输出:The person is current Saying:大家好!

使用依赖注入的代码:

package helloSpring;public class Person {private helloMessage hellomessage;public helloMessage getHellomessage() {return hellomessage;}public void setHellomessage(helloMessage hellomessage) {this.hellomessage = hellomessage;}public String sayHello(){return this.hellomessage.sayHello();}}
控制反转就是上面代码的Person类对象的sayHello方法交由另一个对象helloMessage对象的实例来实现
当不使用依赖注入功能,在Person类中我们需要用new 生成一个对象,例如我们可能需要需要:

helloMessage hellomessage=new helloChina();
或者

helloMessage hellomessage=new helloWorld();

这样一来,耗费我们的经历心力,而且增加耦合度。

4.总结

控制反转与依赖注入是紧密联系,可以这么说,依赖注入是实现控制反转的方法或者是手段。




0 0