配置applicationContext.xml:

spring的ioc容器的配置文件:applicationContext.xml(默认名称)

配置schema约束:

http://www.springframework.org/schema/beans/spring-beans.xsd

配置bean

// 从spring的容器中获取bean实例

@Test

public void test1() {

// 创建spring容器的实例

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");

// 通过容器实例对象获取bean实例

// 通过 bean的名称来获取

CustomerDao customerDao = (CustomerDao) applicationContext.getBean("customerDao");

System.out.println(customerDao);

CustomerService customerService = (CustomerService) applicationContext.getBean("customerService");

System.out.println(customerService);

}

然后还要对bean进行实例化:

包括:通过无参构造器实例化、通过有参构造器实例化、通过静态工厂方法,这里主要介绍无参构造器实例化和静态工厂方法:

<!-- 默认通过无参构造器 -->

<bean id="customer1" class="cn.itcast.crm.domain.CstCustomer"></bean>

通过静态工厂方法:

<bean id="customer3" class="cn.itcast.crm.domain.CustomerFactory" factory-method="getCustomer"></bean>

DI(重点)

1.1 DI的概念

依赖注入(Dependency Injection):顾名思义就是在ioc容器运行期间动态的将对象的依赖关系注入到对象的属性中,没有依赖关系的不需要注入:

action:调用service,action依赖service,在action中所依赖的service创建被反转到spring容器。

service:依赖dao,依赖的dao创建被反转到spring容器。

底层原理:spring根据配置文件中配置依赖关系,首先获取被依赖的对象dao实例,调用service对象中set方法将dao实例设置(注入)到service属性。

1.2 DI测试

这里就用上面配置好的bean就好。

下面是配置依赖关系:

这里需要注意的是property标签里面的name一定要输入正确的set方法之后的字符串,ref对应依赖的对象

1.3 小结Ioc和Di的区别

ioc:控制反转,将对象的创建权反转到ioc容器。

DI:依赖注入,将对象所依赖的对象注入到对象的属性中。

就是IOC的具体 实现方法。

1、IOC就是一个容器

2、IOC容器中包括spring管理的所有bean。

3、IOC容器负责对bean进行实例化

4、IOC容器对bean进行实例化时候,检查有哪些依赖的属性,将依赖的属性注入到实例化的bean的属性中。

要实现依赖注入,需要spring管理依赖方和被依赖方(spring要对依赖方和被依赖方实例化)。

转载于:https://www.cnblogs.com/jingyukeng/p/10241278.html

spring框架ioc(控制反转)第二讲相关推荐

  1. 三大框架之spring框架+IoC控制反转、DI依赖注入

    三大框架:业务层框架Spring+IoC+DI 往期文章:jsp与cookie.重定向与RESTFul架构支持 下一章节: 持久层框架MyBatis 初识Spring框架 MyBatis 入门http ...

  2. Spring-初识Spring框架-IOC控制反转(DI依赖注入)

    ---恢复内容开始--- IOC :控制反转 (DI:依赖注入) 使用ioc模式开发 实体类必须有无参构造方法 1.搭建Spring环境 下载jar http://maven.springframew ...

  3. (八)Spring之IOC控制反转、DI依赖注入介绍和使用(详解)

    文章目录 前言 Spring Spring IOC 简介 Bean IOC 概述 IOC 本质理解 Spring IOC 应用 IOC xml装配 IOC 依赖注入 IOC Bean的作用域 IoC ...

  4. 详解spring的IOC控制反转和DI依赖注入

    转载 详解spring的IOC控制反转和DI依赖注入 2018-06-05 15:45:34 jiuqijack 阅读数 2945 文章标签: spring IOC控制反转 DI依赖注入 更多 分类专 ...

  5. Spring原理-IOC控制反转

    spring相关文章 Spring原理-IOC控制反转 Spring框架七大核心模块 Spring Beans原理–bean生命周期 一.Spring概述 1. 定义 Spring是一个轻量级Java ...

  6. 浅谈spring之IoC控制反转

    以下学习资料来源于b站动力节点 spring: 出现是在2002左右,解决企业开发的难度.减轻对项目模块之间的管理,类和类之间的管理, 帮助开发人员创建对象,管理对象之间的关系.spring核心技术 ...

  7. Spring的ioc控制反转

    spring介绍 Spring的出现是为了取代EJB(Enterprise JavaBean)的臃肿.低效.脱离现实的缺点. Spring致力于J2EE应用的各层(表现层.业务层.持久层)的解决方案, ...

  8. Spring之IOC~控制反转

    1.Spring概述 1.1.什么是Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One- ...

  9. Spring的IOC(控制反转)与DI(依赖注入)

    Spring控制反转与依赖注入 文章目录 Spring控制反转与依赖注入 1. 控制反转(IOC) 2. 依赖注入(DI) 3. 总结 1. 控制反转(IOC) 控制反转(Inversion of C ...

  10. spring:IOC控制反转中“dI“

    声明student对象 注入:就是赋值的意思 di:给属性赋值 1.set注入 设置注入:spring调用类的set方法 可以再set方法中完成属性赋值 1)简单类型的set注入 先来说说基本的格式 ...

最新文章

  1. 微信高级研究员解析深度学习在NLP中的发展和应用 | 公开课笔记
  2. 石墨变为石墨烯的方法
  3. UVa11019 Matrix Matcher(hash+kmp)
  4. etcd rest api基本操作
  5. Marvell 88E1111 linux driver
  6. loadedapk.java_android,_java.lang.ClassCastException: android.os.BinderProxy,android - phpStudy
  7. 通过Java反射来理解泛型的本质
  8. (九)Hibernate 检索策略
  9. 如何解决arcmap中的反走样问题。
  10. MySQL Merge存储引擎
  11. redis练习-模拟手机验证码的发送
  12. nyoj1110 一个简单数学题
  13. 两张MD5值一样但实际不一样的图片
  14. 管理学原理试题及答案
  15. 苹果xsmax怎么开机_苹果11和苹果XSMax怎么选?还以为差别不大,对比后才知道差别大了!...
  16. sql server delete语句删除行
  17. NS2网络仿真的过程
  18. 【shaderforge小实例】 轮廓内发光
  19. THE FOOL 【找规律】
  20. Python OJ输入输出

热门文章

  1. java面向对象程序设计第三版_JAVA面向对象程序设计之创建型设计模式
  2. android应用内存分析,Android应用程序内存分析-Memory Analysis for Android Applications
  3. HTML按钮中写事件,html 常用button事件
  4. turbolinux mysql 5.0 cluste,Debian -- 新聞 -- Debian GNU/Linux 5.0 發布
  5. react native 组件之switch组件的用法
  6. Java动态excel模板
  7. java并发处理时mvel表达式处理慢,一文说清!
  8. mysqlevent每天,附答案
  9. java关键字的用法_JAVA常用关键字及其用法简要说明
  10. 闭包函数python_Python--函数对象闭包函数