Spring框架之DI(依赖注入)

DI Dependency Injection ,依赖注入
is a :是一个,继承。
has a:有一个,成员变量,依赖。
	class B {
       private A a;   //B类依赖A类
    }
依赖:一个对象需要使用另一个对象
注入:通过setter方法进行另一个对象实例设置。
例如:
class BookServiceImpl{
    //之前开发:接口 = 实现类  (service和dao耦合)
	//private BookDao bookDao = new BookDaoImpl();
	//spring之后 (解耦:service实现类使用dao接口,不知道具体的实现类)
	private BookDao bookDao;
	setter方法

}
模拟spring执行过程
创建service实例:BookService bookService = new BookServiceImpl() -->IoC
创建dao实例:BookDao bookDao = new BookDaoImple() -->IoC
将dao设置给service:bookService.setBookDao(bookDao); -->DI

代码过程:
public interface BookDao {

public void addBook();

}

public class BookDaoImpl implements BookDao {

@Override
public void addBook() {
	System.out.println("di  add book");
}

}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

@Test
public void demo01(){
//从spring容器获得
String xmlPath = “com/itheima/b_di/beans.xml”;
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
BookService bookService = (BookService) applicationContext.getBean(“bookServiceId”);

	bookService.addBook();
	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值