spring框架ioc(控制反转)第二讲
配置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>
1 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(控制反转)第二讲相关推荐
- 三大框架之spring框架+IoC控制反转、DI依赖注入
三大框架:业务层框架Spring+IoC+DI 往期文章:jsp与cookie.重定向与RESTFul架构支持 下一章节: 持久层框架MyBatis 初识Spring框架 MyBatis 入门http ...
- Spring-初识Spring框架-IOC控制反转(DI依赖注入)
---恢复内容开始--- IOC :控制反转 (DI:依赖注入) 使用ioc模式开发 实体类必须有无参构造方法 1.搭建Spring环境 下载jar http://maven.springframew ...
- (八)Spring之IOC控制反转、DI依赖注入介绍和使用(详解)
文章目录 前言 Spring Spring IOC 简介 Bean IOC 概述 IOC 本质理解 Spring IOC 应用 IOC xml装配 IOC 依赖注入 IOC Bean的作用域 IoC ...
- 详解spring的IOC控制反转和DI依赖注入
转载 详解spring的IOC控制反转和DI依赖注入 2018-06-05 15:45:34 jiuqijack 阅读数 2945 文章标签: spring IOC控制反转 DI依赖注入 更多 分类专 ...
- Spring原理-IOC控制反转
spring相关文章 Spring原理-IOC控制反转 Spring框架七大核心模块 Spring Beans原理–bean生命周期 一.Spring概述 1. 定义 Spring是一个轻量级Java ...
- 浅谈spring之IoC控制反转
以下学习资料来源于b站动力节点 spring: 出现是在2002左右,解决企业开发的难度.减轻对项目模块之间的管理,类和类之间的管理, 帮助开发人员创建对象,管理对象之间的关系.spring核心技术 ...
- Spring的ioc控制反转
spring介绍 Spring的出现是为了取代EJB(Enterprise JavaBean)的臃肿.低效.脱离现实的缺点. Spring致力于J2EE应用的各层(表现层.业务层.持久层)的解决方案, ...
- Spring之IOC~控制反转
1.Spring概述 1.1.什么是Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One- ...
- Spring的IOC(控制反转)与DI(依赖注入)
Spring控制反转与依赖注入 文章目录 Spring控制反转与依赖注入 1. 控制反转(IOC) 2. 依赖注入(DI) 3. 总结 1. 控制反转(IOC) 控制反转(Inversion of C ...
- spring:IOC控制反转中“dI“
声明student对象 注入:就是赋值的意思 di:给属性赋值 1.set注入 设置注入:spring调用类的set方法 可以再set方法中完成属性赋值 1)简单类型的set注入 先来说说基本的格式 ...
最新文章
- 微信高级研究员解析深度学习在NLP中的发展和应用 | 公开课笔记
- 石墨变为石墨烯的方法
- UVa11019 Matrix Matcher(hash+kmp)
- etcd rest api基本操作
- Marvell 88E1111 linux driver
- loadedapk.java_android,_java.lang.ClassCastException: android.os.BinderProxy,android - phpStudy
- 通过Java反射来理解泛型的本质
- (九)Hibernate 检索策略
- 如何解决arcmap中的反走样问题。
- MySQL Merge存储引擎
- redis练习-模拟手机验证码的发送
- nyoj1110 一个简单数学题
- 两张MD5值一样但实际不一样的图片
- 管理学原理试题及答案
- 苹果xsmax怎么开机_苹果11和苹果XSMax怎么选?还以为差别不大,对比后才知道差别大了!...
- sql server delete语句删除行
- NS2网络仿真的过程
- 【shaderforge小实例】 轮廓内发光
- THE FOOL 【找规律】
- Python OJ输入输出
热门文章
- java面向对象程序设计第三版_JAVA面向对象程序设计之创建型设计模式
- android应用内存分析,Android应用程序内存分析-Memory Analysis for Android Applications
- HTML按钮中写事件,html 常用button事件
- turbolinux mysql 5.0 cluste,Debian -- 新聞 -- Debian GNU/Linux 5.0 發布
- react native 组件之switch组件的用法
- Java动态excel模板
- java并发处理时mvel表达式处理慢,一文说清!
- mysqlevent每天,附答案
- java关键字的用法_JAVA常用关键字及其用法简要说明
- 闭包函数python_Python--函数对象闭包函数