spring学习 IOC 控制反转

spring的核心之一是IOC
IOC:控制反转 inversion of control ,

狂神举例: 以前Service接口 ServiceImpl Dao接口 DaoImpl
当ServiceImpl想调用一个Dao对象时候, 需要在ServiceImpl中去new一个

public interface UserService(){
	public void getUser();
}

// 写一个实现类
public class UserServiceImpl implements UserService(){
	private UserDao userDao = new UserDaoImple1();

	@Override
	public void getUser(){
		userDao.getUser();
	}
}

如果将来需要换实现类,则只能去改代码,而且最主要的是“Service与Dao层耦合在一起”不好!!

现在,程序的 “主动权” 在 程序员手里,不灵活!
改进:

public interface UserService(){
	public void getUser();
}

// 写一个实现类
public class UserServiceImpl implements UserService(){
	private UserDao userDao;

	public setUserDao(UserDao userDao){
		this.userDao = userDao;
	}
	@Override
	public void getUser(){
		userDao.getUser();
	}
}

控制反转,具体用哪个userDao,用户决定吧,自己set 我不管了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值