java spring总结_【Java】关于Spring框架的总结 (二)

上文提到了 Spring 的 IoC 特性和 AOP 特性,只提到个别的实现方法。本文将对 IoC 和 AOP 其他方法进行讲解。

多种方式实现依赖注入

1.设值注入

上文中使用的注入方法:通过 setter 访问器实现对属性的赋值。

2.构造注入

通过类的构造方法实现属性的注入。

如何通过构造注入为业务类注入所依赖的数据访问层对象?下面是步骤

1)获取Spring开发包并为工程添加Spring支持。

2)为业务层和数据访问层设计接口,声明所需方法。

3)编写数据访问层接口UserDao的实现类,完成具体的持久化操作。

4)在业务实现类中声明UserDao接口类型的属性,并添加适当的构造方法为属性赋值。

eaceba6026aafadb17d75ab80e286231.png

5)在Spring的配置文件中将DAO对象以构造注入的方式赋值给业务实例中的 UserDao 类型的属性。

3dd087e85ab42fd528f9c309862c5e53.png

6)在代码中获取Spring配置文件中装配好的业务类对象,实现程序功能。

一个 元素表示构造方法的一个参数,且使用时不区分顺序。当构造方法的参数出现混淆,无法区分时,可以通过 元素的 index 属性指定该参数的位置索引,位置从0开始。

3.使用 p 命名空间实现属性注入

p 命名空间的特点是使用属性而不是子元素的形式配置 Bean 的属性,从而简化了 Bean 的配置。注意使用前要先添加 p 命名空间的声明。

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd">

1bd9b68048480d3e65ea4e1e1c2d564e.png

对于直接量(基本数据类型、字符串)属性  语法:

p:属性名="属性值"

对于引用 Bean 的属性  语法:

p:属性名-ref="Bean的id"

注入不同的数据类型

1.注入直接量(基本数据类型、字符串)

对于基本数据类型及其包装类、字符串,除了可以使用value属性,还可以通过 子元素进行注入。

f4a4a2d9c2be6fc12443eb86ffcbdb01.png

2.引用其他 Bean 组件

Spring 中定义的 Bean 可以互相引用,从而建立依赖关系,除了使用 ref 属性,还可以通过 子元素实现。

07c15ef1851a0c327aea6517b25d3e8e.png

3.使用内部 Bean

如果一个Bean组件仅在一处需要使用,可以把它定义为内部Bean。

f7e0bed730df454f8c51bcb6f0c98342.png

4.注入集合类型的属性

对于 List 或数组类型的属性,可以使用 标签注入。

足球

篮球

对于 Set 类型的属性,可以使用 标签注入。

足球

篮球

对于 Map 类型的属性,可以使用 标签注入。

football

足球

basketball

篮球

对于 Properties 类型的属性,可以使用 标签注入。

足球

篮球

5.注入 null 和空字符串值

其他增强类型

1.异常抛出增强

异常抛出增强的特点是在目标方法抛出异常时织入增强代码。使用异常抛出增强,可以为各功能模块提供统一的、可拔插的异常处理方案。

在增强类中添加异常抛出增强代码

78d5cd43f42a3f6fe8d5faee1f1efb94.png

在配置文件中添加异常抛出增强相关配置

60321fb88971677907bfc3547a9db16d.png

2.最终增强

最终增强的特点是无论方法抛出异常还是正常退出,该增强都会得到执行,类似于异常处理机制中的 finally 块的作用,一般用于释放资源。

在增强类中添加最终增强代码

ad8e06a473c5b46e77d27469ab6151e1.png

在配置文件中添加最终增强相关配置

d18d1b721f52b18c9b8c600dd80b64d3.png

3.环绕增强

环绕增强在目标方法的前后都可以织入增强处理。环绕增强是功能最强大的增强处理,Spring 把目标方法的控制权全部交给了它。在环绕增强处理中,可以获取或修改目标方法的参数、返回值,可以对它进行异常处理,甚至可以决定目标方法是否被执行。

在增强类中添加环绕增强代码

f2fc4f80b4c382568e1f4a696d58f7ff.png

在配置文件中添加环绕增强相关配置

fef28947f9c1c6c1fe245cb4df698f40.png

下次更新Spring注解相关配置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值