1------spring-----概述及IOC理论推导

时间:2020-06-17 22:36:07   收藏:0   阅读:59

Spring简介

摘抄于微信公众号狂神说

优点

  1. Spring是一个开源免费的框架、容器。
  2. Spring是一个轻量级的框架
  3. 控制反转IOC、面向切面AOP
  4. 对事务的支持,对框架的支持

一句概括:Spring是一个轻量级的控制反转(IOC)和面向切面AOP的容器

技术分享图片

 技术分享图片

 IOC

一种设计西想,DI(依赖注入)是实现IOC的一种方法

简单来说:就是依靠多态的建立的解耦过程

1.写一个UserDaoImpl

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

 

 

2.写UserServiceImpl类

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

 

 

3.测试一下

@Test
public void test(){
   UserService service = new UserServiceImpl();
   service.getUser();
}

 

4.假如此时,我们需要去增加一个UserDaoMySqlImpl类

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

 

5.就需要去写UserDaoMysqlImpl的service

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

 

但是这样,会增加多余的代码,对吧!!!其实我们可以这么写,利用多态的性质

public class UserServiceImpl implements UserService {
   private UserDao userDao;
// 利用set实现
   public void setUserDao(UserDao userDao) {
       this.userDao = userDao;
  }

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

 

这就是依赖注入,用set方法注入的!到达了解耦的目的!

技术分享图片

 

原文:https://www.cnblogs.com/sicheng-li/p/13154773.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!