Spring IoC容器知识点梳理

一、基本知识:

 

   定义:

   Ioc:控制翻转。DI:依赖注入

   IoC容器原理:使用IoC容器管理,通过依赖注入的方式,使对象之间解耦。

 

  //获取bean的方法:1.类构造函数; 2.静态工厂方法; 3.实例工厂方法;
 
  //bean作用域:singleton、prototype,request,session、global session
 
 /* bean生命周期,默认单例作用域时是在spring容器启动时实例化bean,prototype是在获取bean时实例化。lazy_init可设置是否延迟加载实例。
    lazy-init设置只对scop属性为singleton的bean起作用。init-method属性指定实例初始化结束时执行的方法,distory-method属性指定bean销毁时执行的方法。
  **/
 
 //注入方式:1.构造函数; 2.get、set方法; 3.注解(@Resource、@Autowired)
 
 /*注解自动装载bean:<context:component-sacn base-package='基类包'>
   @Service:标注业务逻辑层; @Controller 标注控制层; @Repository 标注数据访问层;@Component 通用。
   <context:annotation-config />:打开注解配置容器
   @PostConstruct:实例初始化时执行; @PreDestroy:实例销毁前执行。
  **/

 

===========================================================================================

二、工作原理:

使用IoC容器管理,通过依赖注入的方式,使对象之间解耦。

描述一下这个过程:
对象A依赖于对象B,当对象 A需要用到对象B的时候,IOC容器就会创建一个对象B送给对象A。IOC容器就是一个对象制造工厂,你需要什么,它会给你送去,你直接使用就行了,而再也不用去关心你所用的东西是如何制成的,也不用关心最后是怎么被销毁的,这一切全部由IOC容器包办。
在传统的实现中,由程序内部代码来控制组件之间的关系。我们经常使用new关键字来实现两个组件之间关系的组合,这种实现方式会造成组件之间耦合。IOC很好地解决了该问题,它将实现组件间关系从程序内部提到外部容器,也就是说由容器在运行期将组件间的某种依赖关系动态注入组件中。

我们可以把IOC容器的工作模式看做是工厂模式的升华,可以把IOC容器看作是一个工厂,这个工厂里要生产的对象都在配置文件中给出定义,然后利用编程语言的的反射编程,根据配置文件中给出的类名生成相应的对象。从实现来看,IOC是把以前在工厂方法里写死的对象生成代码,改变为由配置文件来定义,也就是把工厂和对象生成这两者独立分隔开来,目的就是提高灵活性和可维护性。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值