Spring4

Spring 简介

<<Spring4.rar>><<spring-4.0.6.rar>>

Spring 作者:Rod Johnson

官方网站:http://spring.io/

最新开发包及文档下载地址:http://repo.springsource.org/libs-release-local/org/springframework/spring/

核心思想:IOC 控制反转;AOP 面向切面;

介绍:百度百科;

Spring4 Hello World 实现

Spring4

项目实例

装配一个 bean

<<beans.xml>>

项目结构

Spring4

配置bean配置文件

Spring4

service加载bean配置文件

Spring4

Spring IOC 详解

spring ioc 简介

Spring4

spring ioc 实例

JavaWork

Spring4

定义一个接口,具体不同的对象实现接口的方法

Spring4

不同具体对象测试

Spring4

配置bean配置文件

(将创建不同的对象实例并配置到接口的方法中,交给Spring管理)

Spring4

使用bean配置调用不同对象的测试方法(Java的反射机制)

Spring4

更换其他不同对象,不需要更改代码,直接更改bean配置文件

Spring4

依赖注入

Spring4

属性注入

配置bean文件

Spring4

获取配置的实例

Spring4

   

Spring4

构造函数注入

通过类型注入

配置类的有属性构造方法

Spring4

配置bean文件

Spring4

通过索引注入

配置bean文件

Spring4

类型注入和索引注入可以混用

工厂方法注入

静态工厂(方法静态的)

配置静态方法

Spring4

配置bean文件(因为是静态的,不需要单独定义工厂的bean)

Spring4

非静态工厂(方法非静态的)

配置非静态方法

Spring4

配置bean文件

Spring4

注入参数

Spring4

导入Junit4 jar包

Spring4

基本类型值

配置bean.xml

Spring4

生成Junit测试实例

Spring4

注入bean(dog可以被多个people引用)

创建dog类

配置bean.xml,设置dog属性值

Spring4

配置people类,添加dog属性

配置bean.xml,设置people属性值

Spring4

内部bean(dog只能被一个people引用)

配置bean.xml,设置people属性值,内部配置dog的bean,设置属性值

Spring4

null值(为空)

配置bean.xml,添加null标签

Spring4

级联属性

配置bean.xml(使用级联属性,Spring不会自动创建实例,需要自己实例化)

Spring4

配置people

Spring4

集合类型属性

List集合

配置people

Spring4

配置bean.xml

Spring4

Set集合

配置people

Spring4

配置bean.xml

Spring4

Map集合

配置people

Spring4

配置bean.xml

Spring4

Properties属性(类似Map,一般用于系统配置)

配置people

Spring4

配置bean.xml

Spring4

Spring 自动装配(慎用,屏蔽了实现的细节

Spring4

byName(通过name自动装配)

配置people

Spring4

配置bean.xml

Spring4

测试类(自动通过name装配dog)

Spring4

byType(通过类型自动装配)

配置bean.xml

Spring4

constructor(通过构造方法根据类型自动注入)

配置people

Spring4

配置bean.xml

Spring4

方法注入(了解

Spring4

配置bean.xml

Spring4

配置Dog(将获取实例的get方法,修改成抽象的,让Spring自动实现)

Spring4

   

Spring4

配置bean.xml

Spring4

方法替换(了解)(两个不同的类的方法不同,使得A类实现B类的方法)

配置People2

Spring4

   

Spring4

配置bean.xml(使用配置的reimplement方法实现替换原类的name指定方法)

Spring4

bean 之间的关系

Spring4

继承

Spring4

依赖

定义Authority权限类

Spring4

配置people

Spring4

配置bean.xml

Spring4

   

Spring4

引用

Spring4

   

Spring4

bean 作用范围

Spring4

singletom (默认为单例的)

配置bean.xml

Spring4

   

Spring4

prototype(每次都返回一个新的实例)

配置bean.xml

Spring4

Spring AOP 详解

AOP 简介(解耦,将不同用途的代码分离开来)

Spring4

Spring AOP 实例(切面)

Spring4

前置通知(方法执行之前的通知)

目录结构

Spring4

配置切面类

Spring4

配置bean.xml

Spring4

   

Spring4

会通过配置的before通知,先调用doBefire方法,在执行测试类的方法

测试

Spring4

后置通知(方法执行之后的通知)

配置bean.xml

Spring4

环绕通知(有返回值,优先级比前置通知低

配置接口(有返回值)

Spring4

配置实现接口的类(有返回值)

Spring4

配置切面类

Spring4

配置bean.xml

Spring4

测试

Spring4

返回通知

配置切面类

Spring4

配置bean.xml

Spring4

异常通知

配置切面类

Spring4

配置bean.xml

Spring4

Spring DAO 的支持

Spring JDBC 的支持

   

Spring4

配置数据源dbcp

<<spring-jdbcTemplate.rar>>

   

<<spring-dbcp.rar>>

配置bean.xml

Spring4

   

<<beans.xml>>

创建jdbc.properties文件,配置jdbc信息

Spring4

使用JdbcTemplater

目录结构

Spring4

操作的实体类

Spring4

dao抽象

Spring4

dao具体实现

Spring4

   

Spring4

service抽象

Spring4

service具体实现

Spring4

配置bean.xml

Spring4

事务操作

Spring4

   

Spring4

使用JdbcDaoSupper

修改dao具体实现

Spring4

修改bean.xml

Spring4

使用NameParameterJdbcTemplate

修改dao具体实现

Spring4

修改bean.xml

Spring4

Spring Hibernate 的支持

Spring4


Spring 对事务的支持

事务简介

Spring4

编程式事务管理(不太好,嵌入到业务代码中

Spring4

配置BankServiceImpl(将连续的操作放在同一个事务中进行操作)

Spring4

   

Spring4

配置bean.xml

Spring4

   

Spring4

   

Spring4

声明式事务管理(常用的事务管理

Spring4

使用XML配置声明式事务(业务代码不需要更改,只需配置事务通知和事务切面即可)(一般使用xml

引入头信息

   

Spring4

配置bean.xml

<!-- 配置事务通知 -->

<tx:advice id="txAdvice" transaction-manager="transactionManager">

        <tx:attributes>

<tx:method name="*"/>

</tx:attributes>

</tx:advice>

<!-- 配置事务切面 -->

<aop:config>

        <!-- 配置切点 -->

<aop:pointcut id="serviceMethod" expression="execution(* com.java1234.service.*.*(..))" />

        <!-- 配置事务通知 -->
        <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethod"/>

</aop:config>

   

Spring4

使用注解配置声明式事务(业务代码不需要更改,只需配置注解和事务)(每个service都需要加注解

配置Service

Spring4

配置bean.xml

Spring4

事务传播行为(事务的嵌套)

Spring4

经典的写法

<!-- 配置事务通知 -->

<tx:advice id="txAdvice" transaction-manager="transactionManager">

        <tx:attributes>

<tx:method name="insert*" propagation="REQUIRED" />

<tx:method name="update*" propagation="REQUIRED" />

<tx:method name="edit*" propagation="REQUIRED" />

<tx:method name="save*" propagation="REQUIRED" />

<tx:method name="add*" propagation="REQUIRED" />

<tx:method name="new*" propagation="REQUIRED" />

<tx:method name="set*" propagation="REQUIRED" />

<tx:method name="remove*" propagation="REQUIRED" />

<tx:method name="delete*" propagation="REQUIRED" />

<tx:method name="change*" propagation="REQUIRED" />

<tx:method name="get*" propagation="REQUIRED" read-only="true" />

<tx:method name="find*" propagation="REQUIRED" read-only="true" />

<tx:method name="load*" propagation="REQUIRED" read-only="true" />

<tx:method name="*" propagation="REQUIRED" read-only="true" />

</tx:attributes>

</tx:advice>

   


Spring4 整合 Hibernate4Struts2

S2SH 整合所需 Jar

<<S2SH Jar整合.rar>>

   

Spring4

Struts2.3.16 jar

Spring4

   

Spring4.0.6 jar

Spring4

Hibernate4.3.5 jar

Spring4

   

Spring4 整合 Hibernate4

Spring4

Spring4 整合 Struts2

Spring4

S2SH 实例测试

<<S2SH.rar>><<S2SH jar.rar>>

项目结构

Spring4

配置dao层的具体实现(从Spring4开始支持泛型注入,只需一个Dao一个Dao实现)

Spring4

配置service层的具体实现

Spring4

配置entity

Spring4

配置action层(Struts2)

Spring4

配置Struts

Spring4

配置前端jsp

Spring4

hibernateSpring的配置文件是不用更改的使用注解配置具体的实现类