第16章 控制反转【首页】杜老师


0. 创建项目

(1) 创建项目01JavaWeb16, 01学号 web project, Java EE 5.0

(2) 搭建Spring开发环境: 右击项目 --> MyEclipse --> Add Spring Capabilities --> spring 2.5 core

(3) 创建首页index.jsp

本章重点

1. IoC容器

1.1 Bean工厂接口

Bean工厂接口:org.springframework.beans.factory.BeanFactory,该接口程序可以在Spring的核心JAR包spring.jar中找到。在Spring程序中,BeanFactory实际上是IoC的代表者,通过使用该接口对其中的Bean进行管理。

1.2 实例化容器

(1) 定义业务接口 在src创建cn.duzhaojiang.service包,创建[HelloService01.java]业务接口

(2)定义业务实现类 创建src创建cn.duzhaojiang.service.impl包,创建[HelloServiceImpl01.java]业务实现类

(3) 在src创建applicationContext.xml业务配置文件(bean:为业务实现类配置别名或id)

(4) 创建src创建cn.duzhaojiang.client包,创建[HelloClient0_01.java]测试类并测试

在WebRoot下创建[Spring之HelloWorld]网页[HelloClient0_01.jsp]并部署web测试

(5) 创建src创建cn.duzhaojiang.client包,创建[HelloClient1_01.java]测试类并测试

在cn.duzhaojiang.client包,创建[HelloClient2_01.java]测试类并测试

在cn.duzhaojiang.client包,创建[HelloClient3_01.java]测试类并测试

1.3 多配置文件的使用

1.4 配置Bean别名

在cn.duzhaojiang.client包,创建[HelloClient4_01.java]测试类并测试

1.5 使用容器实例化Bean

1.6 容器常用方法

2. 依赖注入

2.1 Setter方法注入

(1)定义业务实现类 创建src创建cn.duzhaojiang.service.impl包,创建[Student01.java]业务实现类

(2) 在src创建applicationContext.xml业务配置文件(添加bean)

(4) 创建src创建cn.duzhaojiang.client包,创建[SetterClient01.java]测试类并测试

在WebRoot下创建[Spring之HelloWorld]网页[SetterClient01.jsp]并部署web测试

2.2 构造函数注入

(1)定义业务实现类 创建src创建cn.duzhaojiang.service.impl包,创建[Teacher01.java]业务实现类

(2) 在src创建applicationContext.xml业务配置文件(添加bean)

(3) 创建src创建cn.duzhaojiang.client包,创建[ConstructorClient01.java]测试类并测试

在WebRoot下创建[Spring之HelloWorld]网页[ConstructorClient01.jsp]并部署web测试

2.3 注入其他Bean

(1)定义dao接口 在src创建cn.duzhaojiang.dao包,创建[UserDAO01.java]dao接口

(2)定义dao实现类 在src创建cn.duzhaojiang.dao.impl包,创建[UserDAOImpl01.java]dao实现类

(3)定义业务接口 在src创建cn.duzhaojiang.service.impl包,创建[UserService01.java]业务接口

(4)定义业务实现类 创建src创建cn.duzhaojiang.service.impl包,创建[UserServiceImpl01.java]业务实现类

(5) 在src创建applicationContext.xml业务配置文件(添加bean)

(6) 创建src创建cn.duzhaojiang.client包,创建[OtherBeanClient01.java]测试类并测试

在WebRoot下创建[Spring之HelloWorld]网页[OtherBeanClient01.jsp]并部署web测试

2.4 内部Bean(Bean中Bean)

在src创建applicationContext.xml业务配置文件(添加bean)

2.5 注入集合

(1)定义业务实现类 创建src创建cn.duzhaojiang.service.impl包,创建[CollectionBean01.java]业务实现类

(2) 在src创建applicationContext.xml业务配置文件(添加bean)

(3) 创建src创建cn.duzhaojiang.client包,创建[CollectionClient01.java]测试类并测试

2.6 空字符串和null值的处理

2.7 依赖注入的简写形式

2.8 不完全依赖

2.9 自动装配

3. Bean作用域(scope)

实训 依赖注入在图书馆查书模块中的使用

(1) 创建数据表、数据

在mysql中执行下列代码,创建数据库、数据表和测试数据

(2) 编写图书model类

在src创建cn.duzhaojiang.model包,创建图书model类[Book01.java]

(3) 编写数据库通用连接类

在src创建cn.duzhaojiang.util包,创建数据库通用连接类[DBConnection.java],并添加mysql-connector-java-5.0.8-bin.jar

(4) 编写dao接口

在cn.duzhaojiang.dao包,创建员图书[BooksDAO01.java]dao接口

(5) 编写dao实现类

在cn.duzhaojiang.dao.impl包,创建员图书[BooksDAOImpl01.java]dao实现类

(6) 编写业务接口

在cn.duzhaojiang.service包,创建图书[BooksService01.java]业务接口

(7) 编写业务实现类

在cn.duzhaojiang.service.impl包,创建图书[BooksServiceImpl01.java]业务实现类

(8) 配置实现类

在src创建applicationContext.xml业务配置文件<beans>中添加bean:

(9) 编写客户端进行测试

创建src创建cn.duzhaojiang.client包,创建[BooksClient01.java]测试类并测试

在WebRoot下创建[查询书名中含有Java的图书]网页[BooksClient01.jsp]并部署web测试

4. 上机题(1-8) 模拟试题管理

(1) 编写录入试题、查询试题方法的业务类

(1.1 在cn.duzhaojiang.dao包,创建[SubjectDAO01.java]dao接口

(1.2 在cn.duzhaojiang.dao.impl包,创建[SubjectDAOImpl01.java]dao实现类

(1.3 在cn.duzhaojiang.service包,创建[SubjectService01.java]业务接口

(1.4 在cn.duzhaojiang.service.impl包,创建[SubjectServiceImpl01.java]业务实现类

(2) 编写业务配置

在src创建applicationContext.xml业务配置文件<beans>中添加bean:

(3) 编写客户端进行测试

创建src创建cn.duzhaojiang.client包,创建[SubjcetClient01.java]测试类并测试

(4) 编写客户端进行测试

创建src创建cn.duzhaojiang.client包,创建[SubjcetClient2_01.java]测试类并测试

(5) 编写注入式业务配置

在src创建applicationContext.xml配置文件中,现注释评比原有的id="subjectSevice"和id="subjectDAO" <bean>定义,然后添加下列bean定义,同时进行(4)步测试

(6) 编写内部Bean业务配置

在src创建applicationContext.xml配置文件中,现注释评比原有的id="subjectSevice"和id="subjectDAO" <bean>定义,然后添加下列bean定义,同时进行(4)步测试

(7) 编写自动装配模式将试题dao注入到实现类中

在src创建applicationContext.xml配置文件中,现注释评比原有的id="subjectSevice"和id="subjectDAO" <bean>定义,然后添加下列bean定义,同时进行(4)步测试

(8) 编写业务配置

在src创建applicationContext.xml配置文件中,现注释评比原有的id="subjectSevice"和id="subjectDAO" <bean>定义,然后添加下列bean定义,同时进行(4)步测试

返回章节目录