"本文主要介绍Spring配置文件中的AOP(面向切面编程)以及事务控制配置,重点关注AOP1.3和AOP2.0版本的相关内容。在Spring框架中,AOP常用于实现横切关注点,如日志、事务管理等,以减少代码的重复性。" 在Spring中,AOP主要由以下几个部分构成: 1. 目标对象:AOP的核心是目标对象,这些对象通常包含了业务逻辑。例如,我们以biz层为例,biz层包含了业务处理的方法。 2. 额外功能:AOP允许我们在不修改目标对象代码的情况下,添加额外的功能。例如,我们可以依赖于SessionFactory来获取事务管理,使得biz层在执行操作时能自动进行事务的开启、提交或回滚。 3. 切面:切面是AOP中的一个关键概念,它定义了何时、何地以及如何应用这些额外的功能。切面可以包含通知(advice),这些通知在特定的连接点(join point)执行,如方法调用前、后或者异常抛出时。 4. 动态代理:Spring提供了两种动态代理方式,JDK动态代理和CGLIB代理。它们会在运行时自动生成代理类,以便在目标对象的方法调用前后插入切面代码。如果目标对象实现了接口,Spring会使用JDK动态代理;如果没有实现接口,那么会选择CGLIB代理。 接下来,我们将深入探讨Spring中的事务控制配置: 在Spring中,事务管理可以通过XML配置或注解方式进行。这里我们看到的是XML配置的例子,它涉及到`SessionFactory`和`dataSource`的设置。`SessionFactory`是Hibernate的核心组件,负责创建Session实例,而`dataSource`则用于连接数据库。 ```xml <bean id="sf" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="ds"/> <!-- Hibernate properties --> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> </props> </property> <!-- Mapping files --> <property name="mappingResources"> <list> <value>zx/day08/hibernate/User.hbm.xml</value> </list> </property> </bean> <!-- 数据源配置 --> <bean id="ds" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="..."/> ... </bean> ``` 在这个配置中,`SessionFactory`通过`dataSource`引用数据源,并配置了Hibernate相关的属性,如数据库方言、是否显示SQL语句等。同时,还指定了映射文件的位置,这里只有一个`User.hbm.xml`,它是Hibernate的映射文件,用于定义对象-关系映射。 事务控制通常通过`<tx:annotation-driven/>`或`<tx:advice>`元素来设置。对于AOP1.3,可能需要手动配置事务通知,而在AOP2.0中,Spring引入了基于注解的事务管理,使得事务配置更加简洁。 总结来说,Spring配置文件中的AOP和事务控制配置是Spring框架的重要组成部分,它们使开发者能够灵活地添加和管理横切关注点,如事务,而无需侵入目标对象的代码。通过合理的配置,我们可以确保业务逻辑的正确性和数据的一致性。
1.目标对象(如 biz层举例)
①:biz 层需要dao 所以要注入dao
②:dao 层需要HibernateTemplate
③:HibernateTemplate 需要注入sessionFactory name ="sessionFactory"
class="org.springframework.orm.hibernate3.HibernateTemplate"
④:sessionFactory class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" name="dataSource/configLocation" 需要dataSource或者hibernate.cfg.xml
sessionFactory的配置
<bean id="sf" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="ds" />
</property>
<!-- hibernate自身相关的配置 -->
<property name="hibernateProperties"><!-- 类型:properties -->
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9iDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
<!-- 映射文件 -->
<property name="mappingResources">
<list>
<value>zx/day08/hibernate/User.hbm.xml</value>
下载后可阅读完整内容,剩余3页未读,立即下载
- 粉丝: 1
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全