Spring学习笔记Word格式.docx
《Spring学习笔记Word格式.docx》由会员分享,可在线阅读,更多相关《Spring学习笔记Word格式.docx(133页珍藏版)》请在冰点文库上搜索。
![Spring学习笔记Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/f217fcb1-02bb-4bc2-bfaa-4918d63960ed/f217fcb1-02bb-4bc2-bfaa-4918d63960ed1.gif)
2.5为Bean对象执行初始化和销毁方法................................................................................2
2.6案例:
Spring框架的使用以及2.1节-2.5节整合测试....................................................3
三、Spring框架IoC特性..............................................................................................................5
3.1IoC概念................................................................................................................................5
3.2DI概念..................................................................................................................................5
3.3案例:
测试IoC(set注入)..............................................................................................5
3.4案例:
测试IoC(构造注入)............................................................................................6
3.5案例:
不用JDBC访问数据库,而是采用Hibernate访问.............................................6
四、Spring中各种类型的数据注入..............................................................................................7
4.1Bean对象注入......................................................................................................................7
4.2基本数据的注入...................................................................................................................7
4.3集合的注入...........................................................................................................................7
4.4案例:
各类数据注入...........................................................................................................7
五、AOP概念...............................................................................................................................10
5.1什么是AOP........................................................................................................................10
5.2AOP和OOP的区别..........................................................................................................10
5.3AOP相关术语....................................................................................................................10
5.4案例:
AOP的使用,模拟某些组件需要记录日志的功能...........................................11
5.5通知类型.............................................................................................................................11
5.6切入点.................................................................................................................................12
5.7案例:
环绕通知,修改5.4案例使之动态显示所执行的操作.....................................12
5.8案例:
利用AOP实现异常处理,将异常信息写入文件..............................................13
六、Log4j日志记录工具.............................................................................................................14
6.1Log4j介绍..........................................................................................................................14
6.2Log4j的使用......................................................................................................................14
6.3案例:
修改5.8案例,使用Log4j记录日志..................................................................15
七、Spring注解配置....................................................................................................................16
7.1组件扫描功能.....................................................................................................................16
7.2组件扫描的使用方法.........................................................................................................16
7.3注入注解标记使用方法.....................................................................................................17
7.4AOP注解标记使用方法....................................................................................................17
八、Spring对数据访问技术的支持............................................................................................19
8.1Spring提供了统一的异常处理类型.................................................................................19
1
8.2Spring提供了编写DAO的支持类..................................................................................19
8.3Spring提供了声明式事务管理方法.................................................................................19
8.4Spring框架如何使用JDBC技术.....................................................................................19
8.5连接池优点.........................................................................................................................22
8.6Spring框架如何使用Hibernate技术...............................................................................22
8.7Spring+Hibernate如何使用Session、Query等对象......................................................25
8.8Spring框架和Struts2整合应用........................................................................................25
8.9案例:
采用SSH结构重构资费管理模块.......................................................................27
九、整合开发包struts-spring-plugin.jar......................................................................................32
9.1Struts2创建对象的方式....................................................................................................32
9.2struts-spring-pligin.jar创建对象的方式............................................................................32
9.3struts-spring-plugin.jar的内部实现...................................................................................32
9.4原理图1..............................................................................................................................32
9.5原理图2..............................................................................................................................33
9.6注意事项.............................................................................................................................33
9.7注入规则.............................................................................................................................33
十、Spring的事务管理................................................................................................................34
10.1声明式事务管理(基于配置方式实现事务控制)......................................................34
10.2编程式事务管理(基于Java编程实现事务控制),不推荐用!
...............................35
10.3Spring中常用的事务类型...............................................................................................35
十一、Spring的MVC..................................................................................................................37
11.1SpringMVC的体系结构.................................................................................................37
11.2SpringMVC的工作流程.................................................................................................37
11.3案例:
简易登录(基于XML配置,不推荐使用)...................................................37
11.4案例:
修改11.3案例(基于注解配置,推荐使用)..................................................39
十二、其他注意事项...................................................................................................................41
12.1Spring的核心模块...........................................................................................................41
12.2表单中action属性的相对、绝对路径问题...................................................................41
12.3用SSH重构NetCTOSS项目模块的步骤.....................................................................41
2
Spring学习笔记
一、Spring概述
我们学习Spring框架的最终目的是用它整合Struts2、Hibernate框架(SSH)。
1.1Spring框架的作用
Spring框架主要负责技术整合(可以整合很多技术),该框架提供IoC和AOP机制,基
于这些特性整合,可以降低系统组件之间的耦合度,便于系统组件的维护、扩展和替换。
1.2Spring框架的优点
其实与Spring框架的作用相同:
在SSH中,主要是利用Spring容器管理我们程序中的Action、DAO等组件,通过容器
的IoC机制,可以降低Action、DAO之间的耦合度(关联度),利用AOP进行事务管理等共
通部分的处理。
在SSH中,Struts2主要是利用它的控制器,而不是标签、表达式;
Hibernate主要利用
它的数据库访问;
Spring主要是利用它的整合。
1.3Spring框架的容器
Spring框架的核心是提供了一个容器(是我们抽象出来的,代指后面的类型)。
该容器类
型是BeanFactory或ApplicationContext(建议用这个类型,它是BeanFactory的子类,功能更
多)。
该容器具有以下功能:
1)容器可以创建和销毁组件对象,等价于原来“工厂”类的作用。
2)容器可以采用不同的模式创建对象,如单例模式创建对象。
3)容器具有IoC机制实现。
4)容器具有AOP机制实现。
二、Spring容器的基本应用
2.1如何将一个Bean组件交给Spring容器
1)Bean组件其实就是个普通的Java类!
2)方法:
在applicationContext.xml中添加以下定义,见2.6案例中step4。
<
beanid="
标识符"
class="
Bean组件类型"
>
/bean>
2.2如何获取Spring容器对象和Bean对象
1)实例化容器:
ApplicationContextac=newClassPathXmlApplicationContext("
/applicationContext.xml"
);
//FileSystemXmlApplicationContext("
"
//去指定的磁盘目录找,上面的为去Class路径找
2)利用getBean("
)方法获取容器中的Bean对象。
见2.6案例中step5。
2.3如何控制对象创建的模式
Spring支持singleton(单例)和prototype(原型,非单例)两种模式。
默认是singleton模式,可以通过<
bean>
的scope属性修改为prototype模式。
以后在Web
程序中,通过扩展可以使用request、session等值。
见2.6案例中step4、step7。
例如:
scope="
prototype"
注意事项:
对于NetCTOSS项目,一个请求创建一个Action,所以用Spring时必须
指明prototype,否则默认使用singleton会出问题。
而DAO则可用singleton模式。
2.4Bean对象创建的时机
1)singleton模式的Bean组件是在容器实例化时创建。
2)prototype模式是在调用getBean()方法时创建。
3)singleton模式可以使用<
元素的lazy-