Spring理解IOC,DI,AOP作用,概念,理解。
IOC控制反转:创建实例对象的控制权从代码转换到Spring容器。实际就是在xml中配置。配置对象
实例化对象时,进行强转为自定义类型。默认返回类型是Object强类型。
ApplicationContext 需要引依赖。
Spring核心 依赖
context core beans spEL
//创建Spring容器 使用ApplicationContext接口new出ClassPathXmlApplicationContext实现类 ,传参为Spring配置文件。
ApplicationContext alc=new ClassPathXmlApplicationContext("Application.xml");
//使用Spring容器实例化对象 。 传参为配置文件中的bean节点
Student stu1 = (Student)alc.getBean("stu");
System.out.println(stu1.toString());
Spring配置文件中:


DI: 把代码向对象属性或实例对象注入属性值或域属性的控制权限转给Spring容器进行控制。
DI实现为对象注入属性值 在配置文件中的bean节点进行注入
实现注入的方式很多有构造注入 set注入 p:注入 等等 。 在开发中使用频率较多的是set注入。推荐使用set注入
<!--使用p: 进行为属性注入和域属性注入。 使用idea工具可alt加enter进行快捷导包。-->
<bean id="stu" class="cn.Spring.Day04.Student" p:name="王力宏" p:age="18" p:car-ref="car"></bean>
<!--使用set注入--> <!--car类 想要在student类为car类的属性赋值则需要引用car--> <bean id="car" class="cn.Spring.Day04.Car"> <property name="penst" value="兰博基尼"></property> </bean> <bean id="stu1" class="cn.Spring.Day04.Student"> <!--如果是对象属性注入 property使用value进行赋值--> <property name="name" value="小猪猪"></property> <!--如果是域属性注入 property使用ref进行引用--> <property name="car" ref="car"></property> </bean>

AOP:
AOP的作用是对方法进行增强。
未使用AOP进行方法增强:

使用AOP前置增强:
1.创建一个普通类实现MethodBeforeAdvice
public class LoggerBore implements MethodBeforeAdvice{
/*MethodBeforeAdvice前置增强*/
@Override
public void before(Method method, Object[] args, Object target) throws Throwable {
System.out.println("记录日志");
}
}
2.配置xml:
<bean id="dao" class="cn.Spring.Day05AOP.dao.UBDaoImpl"></bean>
<bean id="service" class="cn.Spring.Day05AOP.service.UBServiceImpl">
<property name="dao" ref="dao"></property>
</bean>
<bean id="aop" class="cn.Spring.Day05AOP.aop.LoggerBore"></bean>
<aop:config>
<!--切点 expression表达式:切入点表达式,符合改表达式的方法可以进行增强处理。-->
<!--表达式中:public可省,void或别的类型可以换成* *..指的是全路径下的service下的路径下的方法,(..)中的“..”指的是0到多个参数-->
<!--public void cn.Spring.Day05AOP.service.UBServiceImpl.doSome()-->
<aop:pointcut id="mypointcut" expression="execution(* *..service.*.*(..))"></aop:pointcut>
<aop:advisor advice-ref="aop" pointcut-ref="mypointcut"></aop:advisor>
</aop:config>
AOP后置增强则实现 AfterReturningAdvice,改一下就可以。
Spring理解IOC,DI,AOP作用,概念,理解。的更多相关文章
- Spring IOC DI AOP 的简单理解及应用
Spring两大特性:IOC 和AOP.IOC 控制反转,AOP 面向切面编程 spring 核心容器的主要组件时Bean工厂(BeanFactory) ,Bean 工厂使用控制反转模式来降低程序代码 ...
- Spring中的IOC\DI\AOP等概念的简单学习
IoC(Inversion of Control,控制反转).这是spring的核心,贯穿始终, 所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系.Spr ...
- 解释Spring中IOC, DI, AOP
oc就是控制翻转或是依赖注入.通俗的讲就是如果在什么地方需要一个对象,你自己不用去通过new 生成你需要的对象,而是通过spring的bean工厂为你长生这样一个对象.aop就是面向切面的编程.比如说 ...
- spring的IOC和AOP
spring的IOC和AOP 1.解释spring的ioc? 几种注入依赖的方式?spring的优点? IOC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是 ...
- spring的IOC和AOP详细讲解
1.解释spring的ioc? 几种注入依赖的方式?spring的优点? IOC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是有这个IOC容器进行产生,同时, ...
- 简单理解Spring之IOC和AOP及代码示例
Spring是一个开源框架,主要实现两件事,IOC(控制反转)和AOP(面向切面编程). IOC 控制反转,也可以称为依赖倒置. 所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B, ...
- Spring 的 IOC 和 AOP 的理解
Spring 的 IOC 和 AOP 的理解: https://www.jianshu.com/p/bf1adc3b75e6 对Spring的核心(AOP和IOC)的理解(大白话) https://w ...
- 深入理解IoC/DI
------------------------------------------------------------------------ 理解IoC/DI 1.控制反转 --> 谁控制谁 ...
- Spring的IOC和AOP之深剖
今天,既然讲到了Spring 的IOC和AOP,我们就必须要知道 Spring主要是两件事: 1.开发Bean:2.配置Bean.对于Spring框架来说,它要做的,就是根据配置文件来创建bean实例 ...
随机推荐
- 一个c程序反汇编过程(zz)
zz from http://blog.luoyuanhang.com/ 最基本的反汇编方法是gdb xxx: disassemble main/其他函数 #反汇编一个简单的C程序并分析 C 源码: ...
- Program Hyundai i20 Smart Key with VVDI & Xtool X100 Pad2
How-to: generate and program Hyundai i20 smart key with VVDI Mini Key Tool and XTOOL X100 PAD2. Step ...
- Angular中不同的组件间传值与通信的方法
主要分为父子组件和非父子组件部分. 父子组件间参数与通讯方法 使用事件通信(EventEmitter,@Output): 场景:可以在父子组件之间进行通信,一般使用在子组件传递消息给父组件: 步骤: ...
- CentOS升级OpenSSL至OpenSSL 1.1.0f版本<其中有遇到libcrypto.so的问题>
概述: 整体步骤如下: 1.先检查版本 2.进行安装 <安装采用源码安装,然后再做相关的链接指向> 一.检查当前环境 1. 查看当前版本 openssl version 或者使用 yum ...
- Spring-MVC运行原理
一. Spring-MVC的对象初始化,即 bean放入context的beanFactory中. 1. 对象的初始化工作主要在org.springframework.web.servlet.Fram ...
- 微信小程序开发之搞懂flex布局4——Main Axis
Main Axis——主轴 当flex-direction设置为row或row-reverse时,主轴的方向为水平方向.此时flex item为行内级元素. 当flex-direction设置为col ...
- 第五周助教工作总结——NWNU李泓毅
第五周助教总结 注:因第四次实验安排两个标准时间完成,因此本周未提交完整作业. 本周心得: 第四次实验进行过半,八组同学都在实验课上进行了一次中期总结,并形成书面总结在微信群中讨论. 根据各组同学的中 ...
- orm单表查询和模糊查询
一.单表查询 1. 返回queryset对象的查询 all() 以列表形式返回全部queryset对象 filter(**kwargs) 筛选 exclude(**kwargs) 排除 reverse ...
- 关于this的指向
1.谁调用该函数this指向就指向谁 2.回调函数中this的指向永远都指向window 3.箭头函数指向最近的作用域,箭头函数本身是没有this的指向 4.定时器永远指向window 5.严格模式下 ...
- Maven学习笔记5:Maven属性、profile和资源过滤
Maven的六类属性 内置属性 主要有两个常用内置属性:${basedir}项目的根目录(包含pom.xml文件的目录),${version}项目版本 POM属性 用户可以使用该属性引用POM文件中对 ...