首页 > 编程语言 > 详细

Spring4

时间:2020-06-05 11:22:27      阅读:52      评论:0      收藏:0      [点我收藏+]

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 整合 Hibernate4Struts2

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

技术分享图片

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

Spring4

原文:https://www.cnblogs.com/ChengR/p/13047586.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!