Spring IoC详解

2 篇文章 0 订阅

IoC简介

  • IoC即(Inversion of Control),一般译为控制反转。一个java应用程序,对象间往往是相互依赖的。控制反转就是为了解决这个问题。

IoC理解

  • IoC是把对象的控制权较给框架或容器,容器中存储了众多我们需要的对象,然后我们就无需再手动的在代码中创建对象。需要什么对象就直接告诉容器我们需要什么对象,容器会把对象根据一定的方式注入到我们的代码中。注入的过程被称为DI即(Dependency Injection),译为依赖注入。有时候需要动态的指定我们需要什么对象,这个时候要让容器在众多对象中去寻找,容器寻找需要对象的过程,称为DL即(Dependency Lookup),译为依赖查找。

IoC使用

  • 在Spring中使用IoC,首先引入jar包:spring-core、spring-beans;其次,需要将对象注册给容器,可以使用XML或注解将对象注册到容器中,这样,管理对象的职责就交给了容器;需要使用某对象,将容器中注册过的对象注入到创建的对象上即可,就像赋值,new对象一样,可以使用XML或者注解注入获取对象。这就是控制反转,将对象创建,管理,销毁等责任交给了Spring容器;依赖注入,当我们需要对象时,从容器中获取出来,注入到对象中即可。
  • 在Spring 中,所有的类均可注册到容器中,类只有注册到容器中才可被容器所识别为bean,才可为容器所识别管理。就像我们将钱存入支付宝一样,钱只有存入支付宝才可为支付宝所管理,需要的时候,去支付宝取就行了,我们需要什么钱,多少钱,说明清楚,最后由支付宝付给我们。
  • 将对象注册到容器,为了简单,我们以注解为例:
    • @Component 主要使用在类上,此类将被注册到容器中;
    • @Bean 主要使用在方法上,方法返回的类将被注册到容器中;
    • @Repository 使用在dao类上,我们可以明显看出这是数据访问层的bean,此类将被注册到容器中;
    • @Service 使用在service类上,我们可以明显看出这是业务逻辑层的bean,此类将被注册到容器中;
    • @Controller 使用在controller类上,我们可以明显看出这是控制层的bean,此类将被注册到容器中;
    • 总结:@Component和@Bean更加通用,@Repository和@Service和@Controller职责作用更加明确,便于区分层次。
  • 将容器中的bean注入到类上,以注解为例:
    • @Autowired 按类型查找注入
    • @Resource 按类名查找注入

未完待续…

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值