IOC

IOC(控制反转)

  1. 控制反转:

    1. 自我理解,将决定权交给用户。不需要程序猿去改业务层的代码

    2. 代码一:如果用户需要用其他服务则需要重新new

    3. 代码二:则可以用户自行选择服务

      //代码一
      public class UserServiceImpl implements UserService {
          //选择需要的服务
          UserDao userDao=new UserDaoMysqlImpl();
         
      
          @Override
          public void getUser() {
              userDao.getUserDao();
          }
      }
      //代码二
      public class UserServiceImpl implements UserService {
          UserDao userDao;
          public void setUserDao(UserDao userDao) {
              this.userDao = userDao;
          }
          @Override
          public void getUser() {
              userDao.getUserDao();
          }
      }
      //实现
      public class UserServiceImplTest extends TestCase {
          public void testGetUser() {
              UserServiceImpl userServiceImpl = new UserServiceImpl();
              userServiceImpl.setUserDao(new UserDaoMysqlImpl());
              userServiceImpl.getUser();
          }
      }
      

​ 图形化理解image-20260316101428957

posted @ 2026-03-16 20:41  三咲肘击王  阅读(8)  评论(0)    收藏  举报