Spring入门案例(Di 依赖注入)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vipp666/article/details/83388020

Di : Dependency Injection 依赖注入
依赖:一个对象需要使用另一个对象
注入:通过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

创建UserService接口和实现类
创建UserDao接口和实现类

public interface BookDao {
	
	public void addBook();

}
public class BookDaoImpl implements BookDao {

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

}

public class UserServiceImpl implements UserService {

	// 方式1:之前,接口=实现类
	//	private BookDao bookDao = new BookDaoImpl();
	// 方式2:接口 + setter
	private UserDao userdao;

	public void setUserdao(UserDao userdao) {
		this.userdao = userdao;
	}

	@Test
	public void addUser() {
		this.userdao.addUser();
	}
}

配置文件
在这里插入图片描述
测试
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/vipp666/article/details/83388020