spring框架两大核心
ioc 与 di
IOC(Inversion of control)简单来说就是将对象object 的创建的权利及对象的生命周期的管理过程交由spring框架来处理。从此再开发过程中不需要关注对象的创建和生命周期的管理,而是在需要的时候由spring框架提供,这个由spring框架管理对象创建和生命周期的机制称之为控制反转
DI(Dependency Injection)依赖注入,在创建对象的过程中spring可以依据对象的关系,自动把其他对象注入(无需创建对象,直接拿着使用)
总结 spring核心就干了两件事
1.创建对象 2.设置对象的关联关系
IOC 控制反转:就是将对象的创建,对象的存储(map)对象的管理(依赖查找,依赖注入)交给spring容器。由它管理对象的生命周期 ..底层原理就是bean标签管理的对象的生命周期..
DI 依赖注入:相对于IOC而言,依赖注入更加准确地描述了IOC的设计理念,所谓依赖注入,即组件之间的依赖关系由容器在应用系统运行期来决定,也就是由容器动态的将某种依赖关系的目标对象实例注入到应用系统中的各个关联的组件之中。
小结:之间我们自己new出新类,变成由一个初始化的xml配置文件来创建,也就是spring容器来创建遍历xml配置文件,读取到<bean>获取到class属性类的全路径,利用反射创建这个类。..在java范畴中万物皆object,在spring中万物皆bean。 bean是spring的核心,基础.根源。
...............................................................
applicationcontext.xml--->文件
这是spring的核心配置文件,配置的信息可以很多。
IOC功能:通过xml的配置,把自己写的类交给spring管理,作为spring容器里的一个bean存在,本质上是一个map{hello,new Hello()}, id 是每个bean的唯一标志,class是class的全路径。 <bean id="Hello" class="cn.tedu...”></bean>
-->包扫描,用注释的方式,配置bean会扫描指定包下,带@Component注解的类,并注spring容器中,key是类名小写,value是类的对象 <context:component-scan base-package="cn.tedu"/> <context : component-scan> 通过id获取bean,beanname就是类名,首字母小写 1.创建类,类上使用IOC的注解。2.创建配置文件,指定包扫描的路径。3.直接getBean(类名首字母变成小写)..IOC的注解包括@component,@service,@controller,..DI注解 @Autowired..
..................................................................
Spring核心特征中除了IoC控制反转、DI依赖注入,还有一个核心就是强大的面向切面编程AOP(Aspect Oriented Programming)的实现。
spring AOP三要素: 1.Aspect 定义切面;2.通过通知(advice)来指定具体做什么事,如方法执行前做什么,方式执行后做什么,抛出异常做什么,从而实现方法的增强。3.具体通过切点(point cut)配置切点表达式(expression)来指定在哪些方法上织入(ware)横切逻辑 被切的地方叫连接点(Join Point)
spring框架实现了AOP面向切面,其引入了第三方Aspect框架来具体实现,Aspect提供了五种切入方式,术语称为 通知advice 具体五种:1.前置通知before 2.后置通知after 3.环绕通知around 4.返回后通知after Returning 5.异常通知afterThrowing。
使用AOP的步骤:1.加入jar包 spring-boot-starter-aop 2.创建切面,提供通知和切点 3.测试 @Aspect 切面:由切点和通知组成 切点表达式:通过execution属性声明 @Pointcut 定义了方法的触发时间,切入点表达式。
spring框架两大核心相关推荐
- Spring框架两大核心特征的基本理解
Spring框架的两大核心特征:AOP和IoC IoC(控制反转)是Spring的一个容器,他不是一种技术,而是一种思想,依旧是基于面向对象编程的.它能指导我们怎么样设计出松耦合.更优良的程序. 简单 ...
- spring框架两大核心:IOC和AOP的详解
目录 一.IOC和AOP的介绍 二.IOC 1.IOC初始化属性的方式 1.使用构造方法完成属性初始化 2.使用type数据类型完成属性初始化 3.使用p命名空间初始化对象 4.使用c命名空间初始化对 ...
- spring的两大核心
IOC 将类的创建和依赖关系写在配置文件里,由配置文件注入,实现了松耦合 控制反转:将对象的控制权从代码(new)交给xml AOP 将安全,事务等于程序逻辑相对独立的功能抽取 ...
- Java轻量级业务层框架Spring两大核心IOC和AOP原理
IoC(Inversion of Control): IOC的基本概念是:不创建对象,但是描述创建它们的方式.在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务.容器负责将这些 ...
- Spring4.x❶ 两大核心之IOC
1 Spring? 2 IOC案例 2.1 配置文件方法 2.2 注解方法 2.3 配置文件与注解一起使用 3 代码案例可参考: 更多Spring开发在框架开发 1 Spring? Spring是开源 ...
- 【JAVAEE框架】浅谈 Spring 框架的两大核心思想 AOP 与 IOP
哈喽~大家好呀,这篇来看看Spring 框架的两大核心思想.
- Spring框架的两大核心思想
Spring框架的两大核心思想 简介:Spring 的主要作用就是为代码"解耦",降低代码间的耦合度.就是让对象和对象(模 块和模块)之间关系不是使用代码关联,而是通过配置来说明. ...
- java spring原理详解,spring原理详解,两大核心IOC和AOP
大家好,我是java梦之旅,一个被Bug耽误了才艺的程序员,专注于Java领域的知识分享和技术交流,每天会给大家带来Java学习的干货教程,喜欢我的同学可以关注我,一起学习,一起加油! 1.概念:sp ...
- BigData之Hadoop:Hadoop框架(分布式系统基础架构)的简介(两大核心【HDFS存储和MapReduce计算】)、深入理解、下载、案例应用之详细攻略
BigData之Hadoop:Hadoop框架(分布式系统基础架构)的简介(两大核心[HDFS存储和MapReduce计算]).深入理解.下载.案例应用之详细攻略 目录 Hadoop的简介(分布式系统 ...
最新文章
- H5中canvas和svg绘图方式介绍
- 经典C语言程序100例之六六
- 关于Android的一些设计【转】
- Google Earth 8.0
- oracle存储过程拼',【求助】关于oracle存储过程'字符串拼接'
- 嵌入式基础篇 - 第2章 Systick系统定时器
- 深度学习论文阅读进阶路径图
- nodejs 复制、移动文件
- AudioServicesPlaySystemSound
- javascript 经常会用到的东西
- 《30天自制操作系统》 day8 小结
- matlab|已知多点坐标,求两两之间的距离
- 数据库连接报错 Communications link failure 连接失败解决办法
- 2020美国纽约大学计算机科学排名,2020年美国纽约大学专业排名
- 华为LiteOS操作系统中的LOS_DL_LIST_ENTRY怎么理解?
- 设计字体打包_设计师都在用的艺术字体素材
- 计量经济学(十三)内生性问题的原因
- 【工控协议专题01】Modbus协议原理与安全性分析
- python预测股票价格_使用机器学习预测股票价格的愚蠢简便方法
- 建立自己的手写笔画图案