JAVAEE复习(第四部分)

第4部分 Spring

第6章 初识Spring框架

01.Spring介绍

基础
重要特性
核心理念
Ioc(控制反转)
支撑Spring对JavaBean的管理功能
AOP(面向切面编程)
通过预编译方式和运行期间动态代理实现程序功能

Spring框架优点
1.非侵入式设计
2.降低耦合性
3.支持AOP编程
4.支持声明式事务
5.方便程序的测试
6.方便集成框架
7.降低JavaEE API的使用难度

Spring 5框架组成模块
主要有七大模块,每个大模块由多个或1个小模块组成
spring的四个核心包对应Core Container里面的四个模块

支撑性作用
访问和操作数据库
提供Web应用的各种工具类
Spring 5框架
核心容器模块(Core Container)
Beans模块
提供BeanFactory类,创建和管理Bean对象
Core模块
提供Spring框架的基本组成部分,包括loC和DI功能
Contex模块
通过ApplicationContext接口提供上下文信息
SpEL模块
提供了对SpEL表达式语言的支持
数据访问及集成模块(Data Access/Integration)
JDBC模块
提供JDBC的抽象层,消除冗长的JDBC编码并能够解析数据库供应商特有的错误代码
ORM模块
为主流的对象关系映射API提供了集成层,用于集成主流的对象关系映射框架
OXM模块
提供了对XML映射的抽象层的支持
JMS模块
用于传递信息,包含消息的生产和消费
Transations模块
事务管理
Web模块
Web模块
提供了针对Web开发的集成特性,如大部分文件上传功能
Servlet模块
提供了Spring的模型,视图,控制器以及Web应用程序的RESTWeb服务实现
WebSocket模块
提供了WebSocket和SockJS的实现,以及对STOMP的支持
Portlet模块
提供了Portlet环境下的MVC实现
其他模块(AOP模块,Aspects模块,Instrumentation模块以及Test模块)

Spring 5 新特性
1.更新JDK基线
2.修订核心框架
3.更新核心容器
4.支持响应式编程
5.支持函数式Web框架
6.支持Kotlin
7.提升测试功能

在这里插入图片描述

02.Spring的入门程序

03.控制反转与依赖注入
控制反转——降低程序代码之间的耦合度
在这里插入图片描述

依赖注入——由IoC容器在运行期间动态地将某中依赖资源注入对象中
基本思想是:明确地定义组件接口,独立开发各个组件,然后根据组件的依赖关系组装运行

在这里插入图片描述
依赖注入的实现方式
1.构造方法注入
在这里插入图片描述
例如
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.属性setter方法注入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

依赖注入的应用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第7章 Spring中的Bean的管理

01.Spring IoC容器
BeanFactory接口的常用方法
在这里插入图片描述
BeanFactory接口实例的语法格式
最常用的是XmlBeanFactory,可以读取XML文件并根据XML文件中的配置信息生成BeanFactory接口实例,BeanFactory接口的实例用于管理Bean。XmlBeanFactory类读取XML文件生成BeanFactory接口实例的具体语法格式如下:
在这里插入图片描述
ApplicationContext接口
在这里插入图片描述
常用实现类
在这里插入图片描述
02.Bean的配置
Spring容器所支持的配置文件格式
XML(最常用)和Properties两种格式的配置文件。

在Spring中,XML配置文件的根本元素是<beans>,<beans>元素包含<bean>子元素,每个<bean>子元素可以定义一个Bean,通过<bean>元素将Bean注册到Spring容器中。

<bean>元素的常用属性
在这里插入图片描述
<bean>元素的常用子元素
在这里插入图片描述
例:
在这里插入图片描述
03.Bean的实例化
在这里插入图片描述

04.Bean的作用域
在这里插入图片描述
在这里插入图片描述
05.Bean的装配方式
基于XML的装配方式
1.属性setter方法注入
要求
1)Bean类必须提供一个默认的无参构造方法
2)Bean类必须为需要注入的属性提供对应的setter方法
2.构造方法注入
要求
1)配置文件里,需要使用<bean>元素的子元素<constructor-arg>来定义构造方法的参数

基于注解的装配
常用注解
在这里插入图片描述

XML与注解装配的比较
在Spring中,使用XML配置文件可以实现Bean的装配工作,但在实际开发中,如果Bean的数量较多,会导致XML配置文件过于臃肿,给后期维护和升级带来一定的困难。为解决此问题,Spring提供了注解,通过注解也可以实现Bean的装配。

自动装配
Spring的<bean>元素中包含一个autowire属性,可以通过设置autowire属性的值实现Bean的自动装配
autowire属性的值
在这里插入图片描述

@Autowired原理:
		举例:@Autowired
			 private BookService bookService;
		1)、先按照类型去容器中找到对应的组件;bookService = ioc.getBean(BookService.class)
			①、找到一个:找到就赋值
			②、没找到就报异常
			③、按照类型可以找到多个?找到多个如何装配上?
			    a、类型一样就按照变量名为ID继续匹配
			      Ⅰ、匹配上就装配
			      Ⅱ、没有匹配?报错
			      		原因:因为我们按照变量名作为id继续匹配的
			      		使用@Qualifier指定一个新的id
			      			找到就匹配

参考:★spring@Autowired注解原理,通俗易懂(笔记)

06.Bean的生命周期
Bean的生命周期是指Bean实例被创建、初始化和销毁的过程。
singleton(单例模式)
Spring容器可以管理Bean的生命周期,控制着Bean的创建、初始化和销毁。
prototype(原型模式)
Spring容器只负责创建Bean实例,不会管理其生命周期。

重要时间节点
1.Bean实例初始化后
2.Bean实例销毁前

监控时间节点的方式
1.使用XML配置文件
2.使用注解
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第8章 Spring AOP

01.Spring AOP介绍
AOP——面向切面编程
在这里插入图片描述
在这里插入图片描述
AOP术语
切面(Aspect)
在这里插入图片描述

连接点(Joinpoint)
在这里插入图片描述
切入点(Pointcut)
在这里插入图片描述
通知/增强处理(Advice)
在这里插入图片描述
目标对象(Target)
在这里插入图片描述
织入(Weaving)
在这里插入图片描述
代理(Proxy)
在这里插入图片描述

02.Spring AOP的实现机制
Spring AOP的默认代理方式
默认情况下,Spring AOP使用JDK动态代理,JDK动态代理是通过java.lang,reflect.Proxy类代理的,可以调用Proxy类的newProxyInstance()方法创建代理对象。JDK动态代理可以实现无侵入式的代码扩展,并且可以在不修改源代码的情况下,增强某些方法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
03.基于XML的AOP实现
在这里插入图片描述
配置切面
在这里插入图片描述
<aop:aspect>元素的id属性和ref属性的描述
在这里插入图片描述
配置切入点
在这里插入图片描述
<aop:pointcut>元素的id属性和expression属性描述
在这里插入图片描述
切入点表达式的基本格式
在这里插入图片描述
在这里插入图片描述
配置通知
<aop:aspect>
1.前置通知
2.后置通知
3.环绕通知
4.返回通知
5.异常通知
<aop:aspect>元素的常用属性
在这里插入图片描述
例如:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
04.基于注解的AOP实现
Spring AOP的注解
在这里插入图片描述
例如
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第9章 Spring的数据库编程

01.Spring JDBC
针对数据库操作,Spring框架提供了JdbcTemplate类,JdbcTemplate是一个模板类,Spring JDBC中的更高层次的抽象类均在JdbcTemplate模板类的基础上创建。
JdbcTemplate类提供了一些访问数据库时使用的公共属性
1.DataSource:获取数据库连接,提供对数据库连接的缓冲池和分布式事务的支持
2.SQLExceptionTranslator:负责对SQLException异常进行转译工作
使用步骤
1.配置数据源,包括数据库驱动、连接数据库url、连接数据库用户名、连接数据库密码
在这里插入图片描述
dataSource配置的4个属性
在这里插入图片描述
2.配置JDBC模板,必须使用默认的数据源
在这里插入图片描述
3.配置注入类
在这里插入图片描述
02.JdbcTemplate的增删改查操作
excute()方法
1.编写配置文件:配置数据源Bean和JDBC模板Bean,并将数据源注入到JDBC模板中
在这里插入图片描述
2.编写测试类
在这里插入图片描述
update()
常用方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
query()
常用方法
在这里插入图片描述
在这里插入图片描述
03.Spring事务管理概述

事务管理的核心接口
PlatformTransactionManage接口
可以根据属性管理事务
TransactionDefinition接口
用于定义事务的属性
TransactionStatus接口
用于界定事务的状态

在这里插入图片描述
TransactionDefinition接口定义了事务描述相关的常量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
事务管理方式:
1.编程式事务管理:通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚。
2.声明式事务管理:通过AOP技术实现的事务管理,其主要思想是将事务管理作为一个“切面”代码单独编写,然后通过AOP技术将事务管理的“切面”代码植入到业务目标类中。

04.声明式事务管理
基于XML方式的声明式事务
首先引入tx命名空间,在引入tx命名空间之后,可以使用<tx:advice>元素来配置事务管理的通知,进而通过Spring AOP实现事务管理。
<tx:methid>元素的常用属性
在这里插入图片描述
例如:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值