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 实现

项目实例

装配一个 bean

<<beans.xml>>

项目结构

配置bean配置文件

service加载bean配置文件

Spring 之 IOC 详解

spring ioc 简介

spring ioc 实例

JavaWork

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

不同具体对象测试

配置bean配置文件

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

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

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

依赖注入

属性注入

配置bean文件

获取配置的实例

   

构造函数注入

通过类型注入

配置类的有属性构造方法

配置bean文件

通过索引注入

配置bean文件

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

工厂方法注入

静态工厂(方法静态的)

配置静态方法

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

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

配置非静态方法

配置bean文件

注入参数

导入Junit4 jar包

基本类型值

配置bean.xml

生成Junit测试实例

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

创建dog类

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

配置people类,添加dog属性

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

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

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

null值(为空)

配置bean.xml,添加null标签

级联属性

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

配置people

集合类型属性

List集合

配置people

配置bean.xml

Set集合

配置people

配置bean.xml

Map集合

配置people

配置bean.xml

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

配置people

配置bean.xml

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

byName(通过name自动装配)

配置people

配置bean.xml

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

byType(通过类型自动装配)

配置bean.xml

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

配置people

配置bean.xml

方法注入(了解)

配置bean.xml

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

   

配置bean.xml

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

配置People2

   

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

bean 之间的关系

继承

依赖

定义Authority权限类

配置people

配置bean.xml

   

引用

   

bean 作用范围

singletom (默认为单例的)

配置bean.xml

   

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

配置bean.xml

Spring 之 AOP 详解

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

Spring AOP 实例(切面)

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

目录结构

配置切面类

配置bean.xml

   

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

测试

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

配置bean.xml

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

配置接口(有返回值)

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

配置切面类

配置bean.xml

测试

返回通知

配置切面类

配置bean.xml

异常通知

配置切面类

配置bean.xml

Spring 对 DAO 的支持

Spring 对 JDBC 的支持

   

配置数据源dbcp

<<spring-jdbcTemplate.rar>>

   

<<spring-dbcp.rar>>

配置bean.xml

   

<<beans.xml>>

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

使用JdbcTemplater

目录结构

操作的实体类

dao抽象

dao具体实现

   

service抽象

service具体实现

配置bean.xml

事务操作

   

使用JdbcDaoSupper

修改dao具体实现

修改bean.xml

使用NameParameterJdbcTemplate

修改dao具体实现

修改bean.xml

Spring 对 Hibernate 的支持


Spring 对事务的支持

事务简介

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

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

   

配置bean.xml

   

   

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

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

引入头信息

   

配置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>

   

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

配置Service层

配置bean.xml

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

经典的写法

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

<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 整合 Hibernate4,Struts2

S2SH 整合所需 Jar 包

<<S2SH Jar整合.rar>>

   

Struts2.3.16 jar包

   

Spring4.0.6 jar 包

Hibernate4.3.5 jar 包

   

Spring4 整合 Hibernate4

Spring4 整合 Struts2

S2SH 实例测试

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

项目结构

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

配置service层的具体实现

配置entity层

配置action层(Struts2)

配置Struts

配置前端jsp

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值