最全的sping框架总结——通俗易懂

最全的sping框架总结——通俗易懂

一、概述

Spring是轻量级的开源的JavaEE框架,Spring可以解决企业应用开发的复杂性

1、Spring有两个核心部分:IOC和Aop

(1)IOC:控制反转,把创建对象过程交给Spring进行管理
(2)Aop:面向切面,不修改源代码,可以进行功能的增强

2、spring的特点:

(1)方便解耦,简化开发
(2)Aop编程支持
(3)方便程序测试
(4)方便和其他框架进行整合
(5)方便进行事务操作
(6)降低API开发难度

二、IOC

1、什么是IOC

(1)控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理
(2)使用IOC目的:为了耦合度降低
(3)做入门案例就是IOC实现

2、IOC的接口:IOC思想基于IOC容器完成,IOC容器底层就是对象工厂

(1)BeanFactory:IOC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用

  • 加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象
    (2)ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用,加载配置文件时候就会把在配置文件对象进行创建

3、IOC操作Bean管理

(1)Bean管理的作用:创建对象和注入属性
(2)Bean管理的实现:基于xml配置文件的实现和基于注解方式的实现
<1>:基于xml配置文件的实现

/*基于xml配置文件的实现*/
/** * 演示使用set方法进行注入属性 */ 
public class Book { 
	//创建属性 
	private String bname; 
	private String bauthor; 
	//创建属性对应的set方法 
	public void setBname(String bname) { 
	this.bname = bname; 
	} 
	public void setBauthor(String bauthor) { 
	this.bauthor = bauthor; 
	} 
}

<!--2 set方法注入属性--> 
<bean id="book" class="com.atguigu.spring5.Book"> 
<!--使用property完成属性注入 name:类里面属性名称 value:向属性注入的值 --> 								                   <property name="bname" value="易筋经"></property> 
<property name="bauthor" value="达摩老祖"></property> 
</bean>

<2>基于注解方式的实现
第一步 引入AOP依赖
第二步 开启组件扫描开启组件扫描 1 如果扫描多个包,多个包使用逗号隔开
第三步 创建类,在类上面添加创建对象注解
第四步 开启组件扫描细节配置
第五步 基于注解方式实现属性注入
注意:其中二和四步可以通过配置类实现,不需要xml配置文件实现全面的注解开发。

//(1)创建配置类,替代xml配置文件 
@Configuration 
//作为配置类,替代xml配置文件
 @ComponentScan(basePackages = {"com.abc"})
  public class SpringConfig { 
  }
//(2)编写测试类 
@Test public void testService2() { 
	//加载配置类
	 ApplicationContext context =
 		 new AnnotationConfigApplicationContext(SpringConfig.class);    
	 UserService userService=context.getBean("userService",UserService.class); 
	 System.out.println(userService); 
 	 userService.add(); }

三、AOP

面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。用通俗描述就是不通过修改源代码方式,在主干功能里面添加新功能。

AOP底层使用动态代理

第一种 有接口情况,使用JDK动态代理
⚫ 创建接口实现类代理对象,增强类的方法

在这里插入图片描述

第二种 没有接口情况,使用CGLIB动态代理
⚫ 创建子类的代理对象,增强类的方法
在这里插入图片描述

四、事物操作

1、什么事务

(1)事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操作都失败
(2)典型场景:银行转账

  • lucy 转账100元 给mary
  • lucy少100,mary多100

2、事务四个特性(ACID)

(1)原子性
(2)一致性
(3)隔离性
(4)持久性

### 回答1: Spring框架通过使用依赖注入(DI)来实现解耦。DI允许外部实体在构造函数,字段或者集合属性注入相应的依赖,从而使得类的实例化更加简单,代码更加清晰,维护更加容易。Spring框架实现DI的关键有三个:控制反转(IoC)、面向切面编程(AOP)和依赖查找(DL)。 ### 回答2: Spring框架是一个开源的Java应用开发框架,它使用了依赖注入的原理来管理对象之间的依赖关系。所谓依赖注入,就是让程序员不再需要手动创建和管理对象之间的关系,而是由框架来自动完成。 在Spring框架中,我们首先需要定义好我们的Java类,声明它们之间的依赖关系。我们可以使用注解的方式,在需要依赖的属性或者构造方法上加上注解,告诉框架这个属性或者参数需要注入一个对象。 当我们启动程序的时候,Spring框架会根据我们的配置信息,遍历所有的Java类,解析其中的注解信息。然后会根据这些信息创建一个对象的实例,并且将需要注入的属性或者参数自动赋值。这个过程是通过Java的反射机制来实现的。 具体来说,Spring框架会根据注解上的信息,找到合适的对象实例,然后通过调用对象的构造方法或者设值方法,将实例注入到被依赖的属性或者参数中。这样,我们就完成了对象之间的依赖关系的建立,可以方便地使用它们进行开发和业务处理。 借助依赖注入,我们不再需要手动创建和管理对象之间的依赖关系,大大简化了对象之间的耦合度。我们只需要关注对象的功能实现,而不需要过多关心它的依赖关系。这样可以提高开发效率,同时也方便了程序的维护和修改。 ### 回答3: Spring框架是一个用于简化Java开发的框架,其中的依赖注入是其中的一个核心特性。 依赖注入是将对象之间的依赖关系交由框架来管理,而不是由开发人员手动创建和管理。在Spring中,依赖注入是通过配置文件或注解的方式来实现的。 首先,需要将要注入的类所对应的bean配置为一个Spring的bean,这样框架就能够管理这个对象的生命周期。配置文件通常是一个XML文件,其中包含了对Bean的定义和属性的设置。 接下来,需要在需要注入的类中声明需要注入的属性,并为这些属性提供setter方法。Spring框架在启动时会扫描配置文件,找到需要注入的类,并创建对应的对象。 当需要使用某个对象时,Spring会自动将需要注入的属性通过反射的方式注入到对象中,而不需要开发人员手动创建和设置依赖关系。 通过注入,对象之间的依赖关系被解耦,每个对象只需要关注自己的业务逻辑,而不需要关心如何获取依赖的对象。这样可以提高代码的可维护性和可测试性,并且减少了对象之间的紧耦合。 总的来说,Spring框架的依赖注入是通过配置文件或注解的方式来管理对象之间的依赖关系,框架会自动将需要注入的属性注入到对象中。这样可以简化开发过程,提高代码的可维护性和可测试性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值