一、spring创建对象的三种方式:
1、通过构造方法创建
  • 无参构造创建:默认情况
  • 有参构造创建:需要明确配置
    • <constructor-arg>中配置
      • index:参数索引
      • name:参数名
      • type:参数类型(区分基本数据类型和包装类)
      • value:指定参数值
      • ref:指定参数值为另一个bean
    • 如果匹配多个构造方法,则执行最后一个
2、实例工厂(需要创建工厂实例)

  • 配置工厂对象和需要创建的对象
  • <bean id="factory" class=""></bean>:配置工厂对象
  • <bean id="" factory-bean="factory" factory-method=""></bean>:配置需要创建的对象
3、静态工厂(需要静态的创建实例的方法)
  • 只配置需要创建的对象
  • <bean id="" class="" factory-method=""></bean>:配置需要创建的对象
二、如何给bean的属性赋值(注入)
1、通过构造方法设置值
2、设置注入(通过set方法)
  • <property name=""></property>
三、IoC和DI
  • IoC(Inversion of Control):控制反转
    • 把创建对象这一步骤交给spring容器来完成。
  • DI(Dependency Injection):依赖注入
    • 把一个对象实例化后注入给另一个对象的过程。(通过ref="beanID"实现)

转载于:https://www.cnblogs.com/ruowei/p/10852119.html

spring IoC/DI相关推荐

  1. Spring+IOC(DI)+AOP概念及优缺点

    Spring pring是一个轻量级的DI和AOP容器框架. 说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用),重要的是,Spring是非侵入式的,基于spring开发的应 ...

  2. spring ioc di 原理解析

    spring ioc原理(看完后大家可以自己写一个spring) 控制反转/依赖注入 其实这个Spring架构核心的概念没有这么复杂,更不像有些书上描述的那样晦涩.Java程序员都知道:java程序中 ...

  3. 2.spring IOC(DI)

    1. IOC(DI) - 控制反转(依赖注入) 所谓的IOC称之为控制反转,简单来说就是将对象的创建的权利及对象的生命周期的管理过程交由Spring框架来处理,从此在开发过程中不再需要关注对象的创建和 ...

  4. Spring Ioc/DI 控制反转和依赖注入

    Ioc(Inversion of Control)和DI(Dependency Injection)的全称分别是控制反转和依赖注入. 如何理解这两个概念呢? Ioc Ioc(控制反转)实际上就说把对象 ...

  5. 玩转Spring——Spring IOC/DI

    什么是IOC ioc :Inversion of Control,即控制反转. 它不是一种技术,而是一种设计思想,即java程序中获取对象的方式发生反转,由最初的new方式创建,转变成由第三方框架创建 ...

  6. spring IOC DI AOP

    IOC bean工厂 getbean(String):Object 三种方式 核心是一个map单例 双重加锁校验 DI 构造参数 *实例工厂方法和静态工厂方法 原型bean缓存多次利用 循环依赖问题 ...

  7. Spring IOC (DI) 依赖注入的四种方式

    依赖注入的四种方式: set 注入 赋值,默认使用的是set() 方法,依赖注入底层是通过反射实现的 <bean id="student" class="cust. ...

  8. 手撸Spring系列2:IOC/DI 思想(源码篇-IOC)

    说在前头: 笔者本人为大三在读学生,书写文章的目的是为了对自己掌握的知识和技术进行一定的记录,同时乐于与大家一起分享,因本人资历尚浅,发布的文章难免存在一些错漏之处,还请阅读此文章的大牛们见谅与斧正. ...

  9. 动态代理/spring IOC/JAVA反射机制

    动态代理 代理的作用就是控制对象的访问权限: 首先我们需要写一个接口 这个就是代理接口 public interface Student { public void S1(); } 然后在写一个接口的 ...

最新文章

  1. 第一个OpenGL程序
  2. 无缝衔接的人会遭报应吗_还为幼小衔接发愁吗?学会4招,孩子养成好习惯,与小学无缝对接...
  3. 公共基础选择题—关系代数和范式
  4. python自学网站推荐-杭州python自学网站
  5. startos 5.1 如何 root 登陆
  6. Spring核心技术(七)——Spring容器的扩展
  7. Microservice Anti-patterns
  8. LeetCode算法题10:DFS/BFS-扫雷游戏
  9. Adapter适配器和base-adapter-helper库的使用
  10. Linux下画原理图和PCB
  11. idea项目没法继承httpservlet_SpringBoot项目发布为war
  12. android中json解析及使用 (下)
  13. JavaScript学习——判断数据类型总结(转)
  14. Java CopyOnWrite容器
  15. 阿里云天池大赛——机器学习篇赛题解析(赛题一)上
  16. 我们有个共同的名字,XX工
  17. Linux:rsyslog 日志丢失 messages lost due to rate-limiting
  18. java实现pdf电子合同设置合同编号
  19. 散——TIPS(C语言)
  20. Unity学习记录:制作双屏垃圾分类小游戏

热门文章

  1. 阿里云服务器被[kthreaddi]挖矿病毒攻击
  2. php进阶面向对象及tp5,TP5实战技巧---开发思路 引路造桥
  3. mysql 索引 lt =_MySQL索引相关
  4. CCNP-第二篇-SLA扩展+EIGRP高级版(上)
  5. 【PAT甲级最新题解】PAT甲级2020.7月春季考试满分题解(附代码)
  6. 【HDU - 5900】QSC and Master(区间dp)
  7. *【HDU - 6333】Problem B. Harvest of Apples (莫队,逆元,组合数学)(这样预处理正确吗?)
  8. 图解算法学习笔记(二): 选择排序
  9. SpringMVC配置视图的直接映射view-controller命名空间
  10. java面向方面编程_面向方面编程的介绍----基本概念