`

spring context.xmL配置数据库事务以及aop

 
阅读更多
xml配置方式
http://my.oschina.net/u/2308739/blog/397029
!-- from the file context.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.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.xsd">
 
    <!-- this is the service object that we want to make transactional -->
    <bean id="fooService" class="x.y.service.DefaultFooService"/>
 
    <!-- the transactional advice (what happens; see the <aop:advisor/> bean below) -->
    <tx:advice id="txAdvice" transaction-manager="txManager">
        <!-- the transactional semantics... -->
        <tx:attributes>
            <!-- all methods starting with get are read-only -->
            <tx:method name="get*" read-only="true"/>
            <!-- other methods use the default transaction settings (see below) -->
            <tx:method name=""/>
        </tx:attributes>
    </tx:advice>
 
    <!-- ensure that the above transactional advice runs for any execution
        of an operation defined by the FooService interface -->
    <aop:config>
        <aop:pointcut id="fooServiceOperation" expression="execution( x.y.service.FooService.*(..))"/>
        <aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceOperation"/>
    </aop:config>
 
    <!-- don't forget the DataSource -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@rj-t42:1521:elvis"/>
        <property name="username" value="scott"/>
        <property name="password" value="tiger"/>
    </bean>
 
    <!-- similarly, don't forget the PlatformTransactionManager -->
    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
 
    <!-- other <bean/> definitions here -->
</beans>



注解方式
// the service class that we want to make transactional
@Transactional
public class DefaultFfooService implements FooService {
    Foo getFoo(String fooName);
    Foo getFoo(String fooName, String barName);    
    void insertFoo(Foo foo);    
    void updateFoo(Foo foo);
}

以下是配置方式, 要么配置service, 要么配置扫描service bean注解也行
<!-- from the file context.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.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.xsd">
    <!-- this is the service object that we want to make transactional -->
    <bean id="fooService" class="x.y.service.DefaultFooService"/>
    <!-- enable the configuration of transactional behavior based on annotations -->
    <tx:annotation-driven transaction-manager="txManager"/>
    <!-- a PlatformTransactionManager is still required -->
    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!-- (this dependency is defined somewhere else) -->
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <!-- other <bean/> definitions here -->
</beans>
分享到:
评论

相关推荐

    详解spring applicationContext.xml 配置文件

    在Spring框架中,`applicationContext.xml`是核心的配置文件,它定义了应用上下文,即Spring容器,用来管理所有bean的创建、初始化、依赖注入以及生命周期。这个文件使用XML语法,遵循特定的命名空间和schema,以...

    org.springframework.context_3.0.5.release.jar.zip

    而`org.springframework.context`包是Spring框架的核心部分,它提供了上下文环境(ApplicationContext)以及与之相关的服务。在本文中,我们将深入探讨`org.springframework.context_3.0.5.release.jar`这个特定版本...

    SSH框架applicationContext.xml头部文件

    在给出的部分内容中,可以看到`applicationContext.xml`文件的头部结构,它使用了XML语言来定义Spring容器的配置信息。该文件的头部主要包括以下几点: - **XML声明**:`&lt;?xml version='1.0' encoding='UTF-8'?&gt;`。...

    Spring 2.x配置详解

    自 Spring 2.0 起,推荐使用基于 XML Schema 的配置方式,这种方式比传统的 DTD 基础配置更为灵活。一个典型的 Spring 2.5 配置文件至少会包含以下结构: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; ...

    spring_MVC源码

    -- 这里在配成spring,下边也要写一个名为spring-servlet.xml的文件,主要用来配置它的controller --&gt; 19. *.do&lt;/url-pattern&gt; 20. &lt;/servlet-mapping&gt; 21. &lt;welcome-file-list&gt; 22. &lt;welcome-file&gt;index.jsp...

    Spring配置文件spring-context.zip

    总之,`spring-context.zip`中的`applicationContext.xml`是Spring应用的核心配置,它定义了bean的结构、依赖关系以及各种行为,是理解与掌握Spring框架的关键。通过熟练运用这些配置,开发者可以构建出灵活、可扩展...

    spring-context-4.2.xsd.zip

    总结而言,`spring-context-4.2.xsd`是Spring 4.2版本Context模块的核心配置规范,它定义了Spring XML配置文件的结构,涵盖了bean定义、依赖注入、作用域、AOP、事件处理等多个方面的内容。理解并熟练运用`spring-...

    ssh框架在application.xml中配置数据源所需jar

    -- 配置事务的传播特性 --&gt; *" propagation="REQUIRED"/&gt; *" propagation="REQUIRED"/&gt; *" propagation="REQUIRED"/&gt; *" read-only="true"/&gt; &lt;!-- 那些类的哪些方法参与事务 --&gt; &lt;aop:...

    如何在spring中等价配置得到原本由jndi配置实现的数据源

    通常,你还需要配置事务管理器,例如`DataSourceTransactionManager`,以处理数据库事务。在Spring配置文件中添加: ```xml &lt;bean id="transactionManager" class="org.springframework.jdbc.datasource....

    spring4.0.0.RELEASE全套jar包

    2. **spring-context-4.0.0.RELEASE.jar**:上下文模块构建在IoC容器之上,提供了一种环境感知的bean工厂,可以加载配置元数据,如XML或Java注解。此外,它还支持消息源、事件传播、国际化和AOP(Aspect Oriented ...

    ssm框架基础配置文件web.xml模板springmvc.xml模板applicationContext.xml模板拿来即用

    包括Bean的定义、依赖注入(DI)、事务管理、AOP(面向切面编程)等配置。 - Bean定义:使用`&lt;bean&gt;`标签定义各种服务类和DAO类,通过`id`和`class`属性指定Bean的ID和实现类。 - 依赖注入:通过`&lt;property&gt;`标签...

    spring aop 实现源代码--xml and annotation(带lib包)

    顾名思义,Before Advice会在目标对象的方法执行之前被调用,您可以通过实现org.springframework.aop.MethodBeforeAdvice接口来实现Before Advice的逻辑,接口定义如下: java 代码 1. package org.spring...

    spring和Mybatis的xml配置文件提示约束包

    在Spring和Mybatis的XML配置文件中,DTD定义了可以使用的元素、属性以及它们的顺序和限制。这些约束确保了配置文件的正确性,避免了因语法错误导致的解析问题。 Spring的XML配置文件通常包含以下元素的定义: 1. `...

    spring famework 基于xml配置aop示例

    本示例将详细阐述如何通过XML配置来实现Spring AOP。 首先,我们需要理解AOP的基本概念。AOP的核心是切面(Aspect),它封装了横切关注点,也就是那些跨越多个对象的业务逻辑。这些关注点通常包括日志、安全检查和...

    spring-aop-3.0.xsd spring-beans-3.0 spring-context-3.0.xsd spring-mvc-3.1.xsd

    总的来说,Spring 框架的这些核心组件——AOP、Beans、Context 和 MVC,通过 XML 配置文件实现了高度的灵活性和可扩展性,是现代企业级 Java 应用程序开发的基石。理解并熟练使用这些配置文件,是成为 Spring 开发者...

    第一次搭建spring3.x需要的jar和搭建源码

    - **spring-aop.jar**:AOP框架的实现。 - **spring-web.jar**和**spring-webmvc.jar**:Web相关的支持,后者主要处理MVC功能。 - **spring-jdbc.jar**:提供了与JDBC交互的抽象层。 - **spring-tx.jar**:事务管理...

    spring-spring-framework-4.3.24.RELEASE.zip

    2. **AOP(Aspect Oriented Programming)**:Spring提供了面向切面编程的支持,使得我们可以编写横切关注点,如日志、事务管理等,而无需污染业务代码。`org.springframework.aop`包是实现AOP的基础,包括代理模式...

    javaXML方式实现SpringAop编程(源码+jar包)

    1. **配置Spring容器**:首先,我们需要一个Spring配置文件(如`springstudy02/spring-context.xml`),在其中定义bean并启用AOP支持。例如: ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" ...

Global site tag (gtag.js) - Google Analytics