Spring-IOC本质分析

IOC 理论 在一开始学习 Spring 的时候,我们就接触 IoC 了,作为 Spring 第一个最核心的概念,我们在解读它源码之前一定需要对其有深入的认识

IOC 理论

在一开始学习 Spring 的时候,我们就接触 IoC 了,作为 Spring 第一个最核心的概念,我们在解读它源码之前一定需要对其有深入的认识。

IoC 全称为 InversionofControl,翻译为 “控制反转”,它还有一个别名为 DI( DependencyInjection),即依赖注入。

如何理解“控制反转”好呢?理解好它的关键在于我们需要回答如下四个问题:

  1. 谁控制谁
  2. 控制什么
  3. 为何是反转
  4. 哪些方面反转了

分析实现

1.先写一个UserDao接口

 public interface UserDao {public void getUser();}

2.再去写Dao的实现类

public class UserDaoImpl implements UserDao {@Overridepublic void getUser() {System.out.println("获取用户数据");}}

3.然后去写UserService的接口

public interface UserService {public void getUser();}

4.最后写Service的实现类

 public class UserServiceImpl implements UserService {private UserDao userDao = new UserDaoImpl();@Overridepublic void getUser() {userDao.getUser();}}

5.测试一下

 @Testpublic void