第1章 Linux 简介
第2章 Linux 命令
第3章 开发相关

Spring 的第一个程序(掌握)

 

控制反转(IoC,Inversion of Control),是一个概念,是一种思想。指将传统上由程序代 码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对 象控制权的转移,从程序代码本身反转到了外部容器。通过容器实现对象的装配和管理。

 

IoC 是一个概念,是一种思想,其实现方式多种多样。当前比较流行的实现方式是依赖 注入。应用广泛。

 

依赖:classA 类中含有 classB 的实例,在 classA 中调用 classB 的方法完成功能,即 classA 对 classB 有依赖。

 

Ioc 的实现:

➢ 依赖查找:DL ( Dependency Lookup ), 容器提供回调接口和上下文环境给组件。

 

➢ 依赖注入:DI (Dependency Injection),程序代码不做定位查询,这些工作由容器自 行完成。

 

依赖注入 DI 是指程序运行过程中,若需要调用另一个对象协助时,无须在代码中创建 被调用者,而是依赖于外部容器,由外部容器创建后传递给程序。

 

Spring 的依赖注入对调用者与被调用者几乎没有任何要求,完全支持 POJO 之间依赖关 系的管理。

 

依赖注入是目前最优秀的解耦方式。依赖注入让 Spring 的 Bean 之间以配置文件的方式 组织在一起,而不是以硬编码的方式耦合在一起的。

 

Spring 的第一个程序(掌握)

 

在普通三层架构的基础上,将程序修改为 Spring 框架程序

举例:01-primay

 

导入 Jar 包

首先,导入 Spring 程序开发的四个基本 jar 包。

 

 

日志:http://commons.apache.org/proper/commons-logging/download_logging.cgi

 

 

其次,导入日志相关的 Jar 包。commons.logging.jar 该文件只是日志记录的实现规范,并没有具体的实现(相当于日志操作的接口定义)。

这里日志的实现使用 log4j,故还需要 log4j.jar。

最后,导入 JUnit 测试 Jar 包 junit-4.9.jar。

Spring 基本编程,共需 7 个 Jar 包即可。

 

 

定义接口与实体类

 

 

 

 

创建 Spring 配置文件

 

Spring 配置文件的文件名可以随意,但 Spring 建议的名称为 applicationContext.xml。文 件约束在%SPRING_HOME%\docs\spring-framework-reference\html\xsd-configuration.html 文 件中。

 

 

 

注意,Spring 配置文件中使用的约束文件为 xsd 文件。若 Eclipse 中没有自动提示功能,则需要将约束要查找的域名地址指向本地的 xsd 文件。相应的 xsd 文件在 Spring 框架解压目录下的 schema 目录的相应子目录中。

约束文件:xsd(xml schema definition) xml 文档结构定义。

作用:验证 xml 文档的逻辑结构是否正确。

1.定义一个 xml 文档中都有什么元素

2.定义一个 xml 文档中都有什么属性

3.定义一个 xml 文档中元素可以有哪些子元素,以及元素的顺序。

4.定义一个 xml 文档中元素和属性的数据类型。

这里需要的是 spring-beans.xsd 约束文件,故需要在 beans 子目录中查找相应版本的约束文件。

 

 

 

<bean />:用于定义一个实例对象。一个实例对应一个 bean 元素。

id:该属性是 Bean 实例的唯一标识,程序通过 id 属性访问 Bean,Bean 与 Bean 间的依赖关系也是通过 id 属性关联的。

class:指定该 Bean 所属的类,注意这里只能是类,不能是接口。

 

配置不能联网,本机的约束文件

先拷贝约束文件的 url 地址, 然后点击 Eclipse 的 windows 菜单下面的 Perferences

 

 

定义测试类

 

 

容器接口和实现类

(1) ApplicationContext 接口(容器)

ApplicationContext 用于加载 Spring 的配置文件,在程序中充当“容器”的角色。其实现类有两个。通过 Ctrl +T 查看:

 

 

A、配置文件在类路径下

若 Spring 配置文件存放在项目的类路径下,则使用 ClassPathXmlApplicationContext 实现类进行加载。

 

 

B、 配置文件在本地目录中

若 Spring 配置文件存放在本地磁盘目录中,则使用 FileSystemXmlApplicationContext 实现类进行加载。

 

 

C、 配置文件在项目根路径下

若 Spring 配置文件存放在项目的根路径下,同样使用 FileSystemXmlApplicationContext 实现类进行加载。

下面是存放在项目根路径下的情况,该配置文件与 src 目录同级,而非在 src 中。

 

 

 

 

D、ApplicationContext 容器中对象的装配时机

ApplicationContext 容器,会在容器对象初始化时,将其中的所有对象一次性全部装配好。以后代码中若要使用到这些对象,只需从内存中直接获取即可。执行效率较高。但占用内存。

 

 

 

 

全部教程