第六章IoC和AOP使用扩展

构造注入步骤:
1、获取Spring开发包并为工程添加Spring支持。
2、为业务层和数据访问层设计接口,声明所需方法。
3、编写数据服务层接口UserDao的实现类,完成具体的持久化操作。
4、在业务实现类中声明UserDao接口类型的属性,并添加适当的构造方法为属性赋值。
5、在Spring的配置文件中将DAO对象以构造注入的方式赋值给业务实例中的UserDao类型的属性。
6、在代码获取Spring配置文件中装配好的业务类对象,实现程序功能。

使用p命名空间
Spring配置从2.0版本开始采用schema形式,使用不同的命名空间管理不同类型配置,使得配置文件更具扩展性。Spring基于schema的配置方案为许多领域的问题提供了简化的配置方法,大大简化配置的工作量。
p命名空间的特定是使用属性而不是子元素的形式配置Bean的属性,从而简化了Bean的配置。

注入不同的数据类型
Spring提供了不同的标签来实现各种不同类型参数的注入,这些标签对于设值注入和构造注入都适用。

1.注入直接量(基本数据类型、字符串)
对于基本数据类型及其包装类、字符串,除了可以使用value属性,还可以通过子元素进行注入。
2.引用其他Bean组件
Spring中定义的Bean可以相互引用,从而建立依赖关系,除了使用ref属性,还可以通过子元素实现。
3.使用内部Bean
如果一个Bean组件仅在一处需要使用,可以吧它定义为内部Bean。
4.注入集合的类型
对于List或数组类型的集合,可以使用标签注入。
5.注入null和空字符串值
可以使用注入空字符串值,使用注入null值。

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

最终增强
最终增强的特点是无论发放抛出异还是正常退出,该增强都会得到执行,类似于异常处理机制中finally块的作用,一般用于释放资源。使用最终增强,就可以为各功能模块提供统一的、可拔插的处理方案。

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

使用注解定义Bean
》@Repository:用于标注DAO类。
》@Service:用于标注业务类。
》@Controller:用于标注控制器类。
使用特定的注解使组件的用途更加清晰,并且Spring在以后的版本中可能会为它们添加特殊的功能,所以推荐使用特定的注解来标注特定的实现类。

AspectJ简介
AspectJ是一个面向切面的框架,它扩展了Java语言,定义了AOP语法,能够在编译期提供代码的织入,所以它有一个专门的编译器用来生成字节编码规范的Class文件。

本章总结
》Spring提供了设值注入、构造注入等依赖注入方式。
》使用p命名空间可以简化属性注入的配置。
》Spring提供的增强处理类型包括强制增强、后置增强、异常抛出增强、环绕增强、最终增强等。
》通过Schema形式将POJO的方法配置成切面,所用标签包括aop:aspect、aop:before、
aop:after-returning、aop:around、aop:after-throwing、aop:after等。
》用来定义Bean组件的注解包括@Component、@Repository、@Service、@Controller。
》Bean组件的装配可以通过@Autowired、@Qualifier以及@Resource实现。
》通过在配置文件中添加aop:aspectj-autoproxy元素,就可以启用对于@AspectJ注解的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值