第一章笔记
官方网站:http://spring.io/
下载地址:https://repo.springsource.org/libs-release-local/org/springframework/spring/
核心思想:IOC控制反转;AOP面向切面
Spring默认是以单例形式管理Bean
用到的API:ApplicationContext ClassPathXmlApplicationContext
第二章 Spring之IOC详解
一.简介
IOC(控制反转:Inverse of Control),又称 依赖注入,是一种重要的面向对象编程法则来削弱计算机程序的耦合问题,也是轻量级的Spring框架的核心。
二.spring IOC实例讲解
控制权转从业务代码转到主管手上
通过xml文件将实例依赖注入到某个类的属性中,底层原理还是依靠反射
三.装配一个bean
在xml文件里面配置<bean id="person" class="com.java.entity.People"></bean>
id是javabean的唯一标识,通过id可以取出bean的实例
四.依赖注入
1.属性注入
2.构造函数注入;(通过类型,通过索引,联合使用)
通过类型,按照构造方法的参数注入
通过索引,按照构造方法的顺序注入
联合使用
3.工厂方法注入(非静态工厂,静态工厂)
4.泛型依赖注入(Spring4整合Hibernate4的时候顺带讲)
五.注入参数
1.基本类型值
对应第三讲的属性注入
2.注入bean
3.注入内部bean
某个对象单独使用的bean
4.null值
5.级联属性
注入当前对象的成员变量(也是对象)的属性
6.集合类型属性
六.自动装配(很少用)
建议慎用自动装配,防止瞎装配。
七.方法注入(很少用)
Spring bean作用域默认是 单例 singleton;可以通过配置prototype,实现多例;
方法注入 lookup-method
八.方法切换(很少用)
九.bean之间的关系
继承
依赖
引用
第十节 bean的作用范围
通过<bean id="people" class="com.icbc.felix.entity.Dog"
scope="singleton"></bean>
中的scope来指定范围
singleton spring容器默认方式 (搞会)
Spring ioc容器中仅有一个Bean实例,Bean以单例的方式存在。
prototype (搞会)
每次从容器中调用 Bean 时,都返回一个新的实例。
request
每次 HTTP 请求都会创建一个新的 Bean;
session
同一个 HTTP Session 共享一个 Bean;
global session
同一个全局 Session 共享一个 Bean,一般用于 Portlet
application
同一个 Application 共享一个 Bean
第三章 Spring之AOP详解
第一节 AOP简介
在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通
过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续
,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种
衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之
间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
主要功能是日志记录,性能统计,安全控制,事务处理,异常处理等等。
第二节 SpringAOP实例
1.前置通知
可以获取调用的类名,方法名和传入的参数
2.后置通知
3.环绕通知
一般只用一个,用了环绕通知,前置和后置通知就可不用
4.返回通知(很少用)
5.异常通知
第四章 Spring对DAO的支持
第一节 Spring对JDBC的支持
1.配置数据源dbcp;
2.使用JdbcTemplate;
3.JdbcDaoSupport的使用;
daoimpl类不用写jdbcTemplate实例,直接设DataSource,getJdbcTemplate()即可.
4.NamedParameterJdbcTemplate的使用;支持命名参数变量;
org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
MapSqlParameterSource接受输入参数。
第五章 Spring对事务的支持
第一节 事务简介
要满足四个条件:
1.原子性
2.一致性
3.隔离性
4.持久性
第二节 编程式事务管理(用的较少,不是太好,会侵入业务代码)
Spring提供的事务模板类:org.springframework.transaction.support.TransactionTemplate
事务管理器:org.springframework.jdbc.datasource.DataSourceTransactionManager
第三节 声明式事务管理
1.使用XML配置声明式事务(一般情况下使用)
优点:只要配置一个xml文件,所有service都可以事务管理
2.使用注解配置声明式样事务
缺点:每个service都要加注解
第四节 事务传播行为
事务传播行为:Spring中,当一个service方法调用另外一个service方法的时候,因为每个service方法都有事务,这时候就出现了事务的嵌套;由此,就产生了事务传播行为;
在Spring中,通过配置Propagation来定义事务传播行为
PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
第六章 Spring4整合Hibernate4,Struts2
第一节 Struts2.3.16,Spring4.0.6,Hibernate4.3.3整合所需jar包
第二节 Spring4整合Hibernate4
Spring4接管Hibernate4所有的Bean实例,以及SessionFactory,事务管理器;
支持泛型注入;
第三节 Spring4整合Struts2
Spring4接管Struts2所有Bean实例;
总的来说Spring是个粘合剂,一统江湖.
第四节 S2SH实例测试