这篇文章主要为大家详细介绍了Spring控制反转IoC入门使用的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
IoC 容器是 Spring 的核心,也可以称为 Spring 容器。Spring 通过 IoC 容器来管理对象的实例化和初始化,以及对象从创建到销毁的整个生命周期。
Spring 中使用的对象都由 IoC 容器管理,不需要我们手动使用 new 运算符创建对象。由 IoC 容器管理的对象称为 Spring Bean,Spring Bean 就是 Java 对象,和使用 new 运算符创建的对象没有区别。
Spring 通过读取 XML 或 Java 注解中的信息来获取哪些对象需要实例化。
Spring 提供 2 种不同类型的 IoC 容器,即 BeanFactory 和 ApplicationContext 容器。
public class UserDaoOneImpl implements UserDao {
@Override
public void getUser() {
System.out.println("One获取用户数据");
}
}
3、然后去写UserService的接口
4、最后写Service的实现类
5、测试一下
6、再回到UserDao接口
把Userdao的实现类增加一个 .
public class UserDaoMyTwoImpl implements UserDao {
@Override
public void getUser() {
System.out.println("Two获取用户数据");
}
}
7、我们就需要去service实现类里面修改对应的实现
public class UserServiceImpl implements UserService {
private UserDao userDao = new UserDaoTwo();
@Override
public void getUser() {
userDao.getUser();
}
}
在假设, 我们再增加一个Userdao的实现类 .
public class UserDaoThreeImpl implements UserDao {
@Override
public void getUser() {
System.out.println("Three获取用户数据");
}
}
@Test
public void test(){
UserServiceImpl service = new UserServiceImpl();
service.setUserDao( new UserDaoTwoImpl() );
service.getUser();
//那我们现在又想添加Three去实现呢
service.setUserDao( new UserDaoThreeImpl() );
service.getUser();
}