导图社区 Spring5
学习知识,先总览全局,然后将知识点切碎,然你一点点的关联,不断地“冲击”脑神经关联记忆,学习方法科学、高效。这也许就是MindMaster产品的真正意义所在... 大家加油!!
编辑于2021-08-20 22:08:13
这个Spring知识地图好绿!!
Spring概述
两个重要的核心
IoC
控制反转
IoC容器管理对象
AOP
面向切面
符合面向对象的”开闭原则“
Spring官网
sping.io
github 下载源码
官网可下载dist文件(jar包)
Hello Spring
手动导入jar包
spring-beans-5.2.6.RELEASE.jar
spring-core-5.2.6.RELEASE.jar
spring-context-5.2.6.RELEASE.jar
spring-expression-5.2.6.RELEASE.jar
开启你的Spring之旅
IoC
传统的Java对象间的调用
一个对象传递到另一个对象的方法参数中
对象的方法中new一个其他对象
对象的属性为另一个对象,在本类的构造器中new
依赖、耦合,关系不可描述,千丝万缕
依赖
关联
泛化
实现
工厂方法
直接发送关系,耦合度高,加一层吧
还是耦合
工厂与实体类耦合
工厂和调用者耦合
有个小三(工厂)插足
IoC解耦
动态代理
老板不干活,天天让他的助理帮他干活
底层原理
XML解析
工厂模式
反射
工厂负责创建对象,创建哪些对象呢? XML中配置的,如何创建对象呢? 反射
Bean管理
创建对象
注入属性DI
空值的注入
特殊字符注入
null注入
集合的注入
基于XML和注解的方式
完全注解开发
创建配置类
开启组件扫描
具体的实体类+注解
AOP
面向切面的编程
不修改代码,在原来代码上加新功能
重要概念
连接点
切入点
通知(增加)
切面
动作:将增强添加到切入点的过程
AOP操作
基于XML方式
基于注解方式
AOP的具体实现步骤
创建基本类
创建具有增强功能的类
开启注解扫描
在基本类和具有增强功能的类上增加注解Component
代理类上增加 Aspect 注解
配置自动生成代理对象
配置不同类型的通知
面向切片的编程 动态代理 核心就在此!!!懂了就可以起飞!
JdbcTemplate
封装JDBC
方便操作数据库
如何使用?
引入jar包
mysql-connector-java-5.1.7-bin.jar
spring-jdbc-5.2.6.RELEASE.jar
spring-tx-5.2.6.RELEASE.jar
配置德鲁伊连接池
DruidDataSource
创建JdbcTemplate对象
创建Service类和Dao类
Dao类中注入JdbcTemplate对象
完成一个 HelloJdbc体验一下吧!
jdbcTemplate对象方法
queryForObject
查询记录数量
查询单个对象
query
返回集合
batchUpdate
事务
ACID特性
声明式事务管理
创建事务管理器
DataSourceTransactionManager
引入名称空间 tx
开启事务注解
类或方法上增加@Transactional
Transactional的相关参数介绍
propagation
事务的传播行为
isolation
隔离级别
timeout
事务的超时时间
readOnly
只读
rollbackFor
回滚
设置出现哪些异常进行事务回滚
noRollbackFor
设置出现哪些异常不进行事务回滚
隔壁老王给你转了2000元,你没收到,老王的钱少了,什么情况?
一个完全注解开发的例子
创建一个配置类
开启事务
开启组件扫描
@Bean
德鲁伊连接池
JdbcTemplate对象
事务管理器
DataSourceTransactionManager
创建表
数据库中create table
创建实体
表对应的实体类
创建Dao实现类
类中注入JdbcTemplate对象
创建service类
注入Dao的对象
调用service,实现数据库的操作
花里胡哨讲了这么多,这个最实用!!!
未完待续
未来Spring还会更绿!!
掌握了最实用的, 其他的了解就好了
感觉特别绿!