目录
- 第1章 Spring的基本介绍
- 第2章 Spring配置bean
- 1. 通过类型获取bean对象
- 2. 通过构造器配置bean对象
- 3. 通过P名称空间配置bean对象
- 4. bean对象引用其他的bean
- 5. 配置内部bean对象
- 6. 给有List集合属性的bean赋值
- 7. 给有Map集合属性的bean赋值
- 8. 给有Properties集合属性的bean赋值
- 9. util命名空间的使用
- 10. 级联属性赋值
- 11. 通过静态工厂获取bean
- 12. 实例工厂获取bean对象
- 13. FactoryBean工厂获取bean对象(重点)
- 14. bean信息的重用
- 15. bean创建的顺序问题
- 16. bean单例和多实例的说明
- 17. 配置有声明周期的bean
- 18. 后置处理器
- 19. 通过属性文件注入值
- 20. spring基于xml自动装配bean
- 21. SpEL表达式
- 第3章 基于注解的方式配置bean
- 第4章 切面编程(AOP)
- 第5章 JdbcTemplate
- 第6章 声明式事务(意思就是要用注解)
- 第7章 补充一点狂神说这边的知识
第1章 Spring的基本介绍
1. spring学习的核心内容介绍
2. spring ioc的原理介绍
3. spring插件的安装
用idea+maven,直接参考这个链接,写的很好。
IDEA+Maven搭建Spring环境的详细教程
4. spring快速入门案例
第2章 Spring配置bean
1. 通过类型获取bean对象
2. 通过构造器配置bean对象
3. 通过P名称空间配置bean对象
引入P命名空间,直接加这句:
xmlns:p="http://www.springframework.org/schema/p"
注意这样写可以:
这样写不行:
报错:
4. bean对象引用其他的bean
5. 配置内部bean对象
6. 给有List集合属性的bean赋值
7. 给有Map集合属性的bean赋值
8. 给有Properties集合属性的bean赋值
9. util命名空间的使用
10. 级联属性赋值
11. 通过静态工厂获取bean
12. 实例工厂获取bean对象
13. FactoryBean工厂获取bean对象(重点)
14. bean信息的重用
如果想不实例化,只继承:
15. bean创建的顺序问题
16. bean单例和多实例的说明
17. 配置有声明周期的bean
容器销毁的时候调用我们写的destroy方法。举例:
还要给settergetter方法
注意:Setter 方法注入
Setter 方法注入的方式是目前 Spring 主流的注入方式,它可以利用 Java Bean 规范所定义的 Setter/Getter 方法来完成注入,可读性和灵活性都很高,它不需要使用声明式构造方法,而是使用 Setter 注入直接设置相关的值。
<bean id="person" class="org.springframework.beans.Person">
<property name="id" value="1"/>
<property name="name" value="Java"/>
</bean>
在 Spring 实例化 Bean 的过程中,首先会调用默认的构造方法实例化 Bean 的对象,然后通过 Java 的反射机制调用 set 方法进行属性的注入。因此,setter 注入要求 Bean 的对应类必须满足以下要求:
- 必须提供一个默认的无参构造方法
- 必须为需要注入的属性提供对应的 setter 方法
继续:
18. 后置处理器
要是没有配置init方法,spring框架会有一个默认的init方法。
19. 通过属性文件注入值
20. spring基于xml自动装配bean
通过xml进行装配,有两种方法:
(1)通过类型完成自动装配
(2)通过名字完成自动装配
原理:
代码:
21. SpEL表达式
第3章 基于注解的方式配置bean
1. spring基于注解的基本介绍和入门案例
快速入门案例:
2. 基于注解的方式配置bean-通过id获取
不同id的是不一样的对象。
3. exclude-filter标签
4. include-filter标签
5. @AutoWired和@Qulified标签
注意啊,这里的bean.xml你还是得开启扫描,不然的话用不了注解的啊~
6. bean的配置-基于泛型依赖
用注解方式获取对象的时候默认是单例模式,如果想要将类设置为每次取的都不一样,设置Scope注解 。
第4章 切面编程(AOP)
1. AOP的需要和第一个解决方式
用最原始的方法:
2. AOP解决问题的第二个解决方式-动态代理
3. AOP原理示意图
4. AOP编程的基本入门
1)实现方式1——基于动态代理的方式
说明:环绕通知可以完成另外四个通知的所有事情。
这个图很好地说明了执行的顺序。
xml要加上相应的schemaLocation
5. AOP的连接点
6. 在返回通知时获取到返回结果
7. 在异常通知获取抛出的异常
8. AOP的环绕通知(四合一)
9. 切入表达式的重用
10. 切面优先级执行问题
11. 使用XML来完成AOP的配置
第5章 JdbcTemplate
1. 基本介绍
2. 配置数据源
如果像我一样用maven,引入这样的依赖:
测试
3. 初步使用
4. 操作数据表
5. 封装到Dao对象
具体可见D:\Project\hspedu\spring\startup\src\main\java\jdbcTemplate\stratified
第6章 声明式事务(意思就是要用注解)
1. 说明
先建立三张表
完整代码见:D:\Project\hspedu\spring\startup\src\main\java\declarativeTransaction
2. 案例1-完成GoodsDao
其他类似…
3. 案例2-完成GoodsService
在xml中写:
这样就可以保证一致性了。
4. 事务传播机制
换成每个事务出错就回滚自己,不回滚其它事务的REQUIRED_NEW机制:
5. 事务隔离级别
6. 事务超时设置
7. 事务只读模式
readonly=true就是只读模式
8. 基于xml的声明式事务
第7章 补充一点狂神说这边的知识
1. IOC本质
2. 静态代理
3. 动态代理
将动态代理变成固定公式写法: