一. DI Dependency Injection ,依赖注入
如何理解:
依赖:一个对象需要使用另一个对象
class B {
private A a; //B类依赖A类
}
注入:通过setter方法进行另一个对象实例设置。(有好几种方法 只是用set来举例子)
例如:
class BookServiceImpl{
//之前开发:接口 = 实现类 (service和dao耦合)
//private BookDao bookDao = new BookDaoImpl();
//spring之后 (解耦:service实现类使用dao接口,不知道具体的实现类)
private BookDao bookDao;
setter方法
}
具体详细的 模拟spring执行过程:
-
创建service实例:BookService bookService = new BookServiceImpl() -->IoC -(bean配置文件)
-
创建dao实例:BookDao bookDao = new BookDaoImple() -->IoC
-(bean配置文件) -
将dao设置给service:bookService.setBookDao(bookDao); //注入 -->DI (property配置文件)
二.开始案例(目标类) -
创建BookDao接口和实现类