关于spring:SpringIOC理论推导

6次阅读

共计 704 个字符,预计需要花费 2 分钟才能阅读完成。

  1. UserDao 接口
  2. UserDaoImpl 实现类
  3. UserService 业务接口
  4. UserServiceImpl 业务实现类

在之前的业务中,用户的需要可能会影响咱们的代码,咱们须要依据用户的需要去批改代码!如果程序代码量十分大,批改一次的老本代价非常低廉!

UserServiceImpl 应用 set 接口

private UserDao userDao;

// 利用 set 进行动静实现值的注入
public void setUserDao(UserDao userDao){this.userDao = userDao;}
  • 之前程序是被动创建对象,控制权在程序员手里
  • 应用 set 注入后,程序不再具备主动性,而是变成了被动的承受对象

这种思维,从实质上解决了问题,程序员不须要再去治理对象的创立了,零碎的耦合性大大降低,能够更加专一的在业务实现上。这就是 IOC 的原型。

IOC 实质

管制反转 IoC(Inversion of Control),是一种设计思维,DI(依赖注入) 是实现 IoC 的一种办法,也有人认为 DI 只是 IoC 的另一种说法。没有 IoC 的程序中,咱们应用面向对象编程,对象的创立与对象间的依赖关系齐全硬编码在程序中,对象的创立由程序本人管制,管制反转后将对象的创立转移给第三方。

采纳 xml 形式配置 Bean 的时候,Bean 的定义信息是和实现拆散的,而采纳注解的形式能够把两者合为一体,Bean 的定义信息间接以注解的模式定义在实现类中,从而达到了零配置的目标。

管制反转是一种通过形容(xml 或注解)并通过第三方去生产或获取特定对象的形式。在 Spring 中实现管制反转的是 IoC 容器,其实现办法是依赖注入(Dependency Injection,DI)。

正文完
 0