Spring的IOC和AOP

Spring介绍

1.spring是轻量级的开源的JavaEE框架

2.Spring可以解决企业应用开发的复杂性

3.Spring有两个核心部分:IOC、AOP

Spring特点

1.方便解耦,简化开发。

2.AOP支持

3.方便和其他框架整合

​ 4.降低了API开发难度

IOC

IOC底层原理和基本概念

IOC控制反转。把对象创建和对象之间的调用过程,交给spring进行管理。

使用目的:为了耦合度
降低。

耦合度:也就是两个方法之间的关联程度,越小越好。

IOC接口 BeanFactory


​ 1、Ioc思想基于IOC容器完成,ioc就是对象工厂。

​ 2、spring提供ioc容器实现两种方式:

​ (1)**.beanFactory**:ioc容器基本实现,是spring自带 内部使用的,不提供给开发人员使用。

​ * 加载配置文件的时候,不会去创建对象。在获取对象(使用)才去创建对象。 什么时候用 什么时候创建对象。

(2)ApplicationContext:是BeanFactory接口的子接口,提供更强大的功能,由开发人员使用。

​ * 加载配置文件的时候,就会去创建对象。

常见的依赖注入三种方式


1、set方法进行注入
(在bean中创建属性和创建set方法)

​ 1.创建类,生成属性的set方法

​ 2.在配置文件中创建对象,后使用set方法注入属性

 <bean id="book" class="com.cztu.tdj.spring5.Book">
        <property name="bname" value="tdj"></property>
        <property name="bauthor" value="javaSpring"></property>
    </bean>


2、使用有参构造进行注入
(1)创建类,定义属性,创建属性的有参构造

(2)在spring的配置文件中注入

   

<bean id="orders" class="com.cztu.tdj.spring5.Orders">
        <constructor-arg name="oname" value="拼多多"></constructor-arg>
        <constructor-arg name="address" value="120"></constructor-arg>
        
        //也可以基于index属性注入,0代表有参构造第一个属性
        <constructor-arg index=1 value="120"></constructor-arg>
    </bean>


使用注解test时,类必须为public,方法也必须是public!!!

Bean管理(FactoryBean)

1、Spring有两种类型Bean,一中普通bean,还有一种是工厂bean。

2.普通bean:在配置文件中,定义的类型就是返回的类型。**

3.工厂bean:在配置文件中,定义的类型可以和返回类型不一样。

AOP


AOP:面向切面编程 。不通过修改源代码的方式,在主干功能里添加新功能。

aop底层原理


1、aop底层使用了动态代理

有两种情况的动态代理:

​ 有接口的情况,使用jdk动态代理

​ ·创建接口实现类对象,去增强类中的方法

没有接口的情况,使用CGLIB动态代理

​ 创建子类的代理对象,去增强类中的方法

2、jdk动态代理代码

(1)创建接口,定义方法

(2)创建接口实现类,实现方法

(3)使用proxy类c

基于匿名内部类实现接口;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值