栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring学习笔记

Spring:
Spring是轻量级的开源的JavaEE框架,解决企业开发的复杂性。
核心部分:IOC、AOP
	IOC:控制反转,把创建对象的过程交给Spring
	AOP:面向切面,不修改源代码进行功能增强
特点:方便解耦,简化开发、Aop编程支持、方便程序测试、方便和其他框架进行整合、
	方便进行事务操作、降低API开发难度
IOC容器:
IOC控制反转,把对象的创建和对象之间的调用过程,交给Spring管理,降低耦合度。
IOC底层原理:xml解析、工厂模式、反射
接口:IOC思想基于IOC容器完成,IOC底层就是对象工厂
Spring提供IOC容器实现两种方式:两个接口
	BeanFactory:IOC容器基本实现,是Spring内部的接口,不提供开发人员使用
		加载配置文件时候不会创建对象,在获取对象采取创建
	ApplicationContext:BeanFactory的子接口,提供更多更强大的功能,
		加载配置文件的时候就会把在配置文件对象进行创建
IOC操作:
	Bean管理:Spring创建对象,Spring注入属性
	Bean管理操作:
		1.基于xml配置文件方式
			创建对象默认执行无参构造方法
			DI:依赖注入,就是注入属性,先创建对象
				bean标签中set方法:property、有参构造:constructor-arg
					p名称空间注入
			null标签设置空值property标签中设置
			属性值包含特殊符号,1.符号进行转义、2.特殊符号内容写到CDATA  ![CDATA[...]]
			注入属性:外部bean、内部bean和级联赋值
			集合:map 中 entry标签  设置key和value值   各个集合不同的标签
				集合中注入对象值 ref标签中bean属性
				提取集合:util
		Spring有两种类型bean,普通bean和工厂bean-FactoryBean
			1.普通bean:在配置文件定义的bean的类型就是返回类型
			2.工厂bean:在配置文件定义的bean的类型可以和返回类型不一样
		bean的作用域:
			Spring中默认的bean是单实例对象,scope属性 singleton单实例、prototype多实例
			singleton,在加载spring配置文件的时候就会创建单实例对象
			prototype,在调用getBean方法的时候创建多实例对象
		bean的生命周期:
			1.通过构造器创建bean对象(无参数构造)
			2.为bean的属性设置值和其他bean的引用(调用set方法)
			3.调用bean的初始化的方法(需要进行初始化的方法) bean后置处理器
			4.bean可以使用了(对象获取到了)
			5.当容器关闭的时候,调用bean的销毁的方法,(需要进行配置销毁的方法)
		xml自动装配:
			根据指定装配规则(属性名称或者属性类型),Spring自动将匹配的属性值进行注入
			bean标签中属性 autowire 配置自动装配
				byName根据名称注入、byType根据类型注入
		外部属性文件:
			 
		2.基于注解方式实现
			注解是代码特殊标记,格式:@注解名称(属性名称=属性值...)
			注解可以作用在类、方法、属性上
			目的:简化xml配置
			Spring针对Bean管理进行对象创建提供注解:
				1.@Compnent
				2.@Service
				3.@Controller
				4.@Repository
			-引入aop依赖
			-开启组件扫描 
				扫描多个包,逗号隔开或者扫描上层目录
			注解中的value值可以省略,默认为类名首字母小写
			注解方式实现属性注入:
				1.@Autowired:根据属性类型进行自动装配
				2.@Qualifier:根据属性名称
				3.@Resource:可以根据类型注入,可以根据名称注入【是javax中的】
				4.@Value:注入普通类型属性
			完全注解开发:
				创建配置类,@Configuration
				@ComponentScan(basePackages = {"..."})
AOP:
面向切面编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度
降低,提高程序的可重复性,提高开发效率
AOP底层使用动态代理
	1.有接口,JDK动态代理
	2.没有接口,CGLIB动态代理
JDK动态代理:
	Proxy类中的方法创建代理对象 newProxyInstance()方法
AOP-术语:
	1.连接点:类里面那些方法可以被增强,这些方法就是连接点
	2.切入点:实际被真正增强的方法,称为切入点
	3.通知(增强):实际增强的逻辑部分
		-前置、后置、环绕、异常、最终通知
	4.切面:把通知应用到切入点过程
Spring框架一般基于AspectJ实现AOP操作  AspectJ不是Spring组成部分
基于AspectJ实现AOP操作
	基于xml、基于注解
	引入相关依赖
	*切入点表达式:excution([权限修饰符][返回类型][类全路径][方法名](参数列表))
	步骤:添加组件扫描-*-在增强类上加@Aspect、-在Spring配置文件中开启生成代理对象
		在增强类里,在通知方法上加添加通知类型的注解,使用切入点表达式配置
	在增强类上添加注解@Order(数字类型值),数字越小优先级越高
JdbcTemplate:
Spring框架堆JDBC进行封装,
JdbcTemplate对象:
	
	注入dataSource
BeanPropertyRowMapper(T.class) 数据封装
批量操作 batchXxx
Spring事务:
事务:事务是数据库操作最基本单元,逻辑上一组操作,要么成功,如果有一个失败,所有操作全失败
事务四个特性(ACID):原子性、一致性、隔离性、持久性
事务添加到JavaEE三层结构的Service层,(业务逻辑层)
Spring进行事务管理操作:编程式事务管理、声明式事务管理
Spring进行声明式事务管理、底层使用AOP原理
事务管理器:
开启事务注解:
	事务注解:@Transactional() 参数配置:
		1.propagation:事务传播行为
		2.ioslation:事务隔离级别
		3.timeout:超时时间,事务在一定时间内提交,如果不提交就回滚
		4.readOnly:是否只读,为true 只可查询
		5.rollbackFor:回滚
		6.noRollbackFor:不回滚
Spring5新功能:
Spring5框架的代码基于Java8,运行时兼容JDK9;删除了不建议的类和方法
自带了通用的日志封装,
@Nullable注解可以使用在参数、属性、方法上,表示参数可以为空、属性值可以为空
	方法的返回值可以为空
WebFLux:
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/285120.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号