(1) 、<context:component-scan base-package="*.*" />
 该配置隐式注册了多个对注解进行解析的处理器,如:
 AutowiredAnnotationBeanPostProcessor      
 CommonAnnotationBeanPostProcessor 
 PersistenceAnnotationBeanPostProcessor    
 RequiredAnnotationBeanPostProcessor 
 其实,注解本身做不了任何事情,和XML一样,只起到配置的作用,主要在于背后强大的处理器 
 其中就包括了<context:annotation-config/>配置项里面的注解所使用的处理器 
 所以配置了<context:component-scan base-package="">之后,便无需再配置<context:annotation-config>

(2)、<tx:annotation-driven transaction-manager="txManager" />
 @Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上。
 Spring团队的建议是你在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现的任何接口上。

public class ButtonBo extends GlobalBo {
  ....
  @Transactional(value = "txManager", rollbackFor = Exception.class)
    public Button findButton(String buttonid) throws BaseException {
     return hibernateEntityDao.get(Button.class, buttonid);
   }
 }

(3)

<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--保证事务管理对象正确引用DataSource对象。如果系统中有两个及以上的数据源,因为只能配一个,请配置有增删改偏操作的那个。 -->
<property name="dataSource"><ref bean="dataSource" /></property>
<!--使用容器数据源时,此值为2。如果不设为2,在高并发下有可能有问题。 -->
<property name="transactionSynchronization"><value>2</value></property>
</bean>

(4)、@Component、@Repository、@Service、@Controller、@Autowired、@Resource
 而Spring2.5就为我们引入了组件自动扫描机制 
 它可以在classpath下寻找标注了@Service、@Repository、@Controller、@Component注解的类 
 并把这些类纳入Spring容器中管理,它的作用和在XML中使用bean节点配置组件是一样的 
 使用自动扫描机制,则需配置<context:component-scan base-package="com.jadyer"/>启动自动扫描 
 其中base-package指定需要扫描的包,它会扫描指定包中的类和子包里面类 
 @Service用于标注业务层组件 
 @Repository用于标注数据访问组件,即DAO组件 
 @Controller用于标注控制层组件,如Struts中的Action 
 @Component泛指组件,当组件不要好归类时,可以使用这个注解进行标注
 1、可以使用诸如@Service("personDao")修改bean名称,而它默认的是将首字母小写的类名作为<bean>名称 
 2、若要更改<bean>作用域的话,可以使用@Scope("prototype")注解来修改<bean>作用域

一般使用@Resource注解,而不要使用@Autowired注解 
 因为@Autowired注解是Spring提供的,而@Resource注解是J2EE提供的 
 在JDK6中就已经包含@Resource注解了,所以它没有跟Spring紧密耦合

spring 事务:注解方式的更多相关文章

  1. 关于spring事务注解实战

    1.概述 spring的事务注解@Transaction 相信很多人都用过,而@Transaction 默认配置适合80%的配置. 本篇文章不是对spring注解事务做详细介绍,而是解决一些实际场景下 ...

  2. mybatis源码学习--spring+mybatis注解方式为什么mybatis的dao接口不需要实现类

    相信大家在刚开始学习mybatis注解方式,或者spring+mybatis注解方式的时候,一定会有一个疑问,为什么mybatis的dao接口只需要一个接口,不需要实现类,就可以正常使用,笔者最开始的 ...

  3. (转)使用Spring的注解方式实现AOP的细节

    http://blog.csdn.net/yerenyuan_pku/article/details/52879669 前面我们已经入门使用Spring的注解方式实现AOP了,现在我们再来学习使用Sp ...

  4. (转)使用Spring的注解方式实现AOP入门

    http://blog.csdn.net/yerenyuan_pku/article/details/52865330 首先在Eclipse中新建一个普通的Java Project,名称为spring ...

  5. Spring事务注解分析

    1.使用spring事务注解 2.手写事务注解 1).sql执行器 2).事务注解定义 3).AOP实现事务具体实现(同一个线程中使用同一个连接) 4).应用使用注解前 5).应用使用注解后

  6. Spring 使用注解方式进行事务管理

    转载:http://www.cnblogs.com/younggun/archive/2013/07/16/3193800.html 使用步骤: 步骤一.在spring配置文件中引入<tx:&g ...

  7. Spring使用注解方式就行事务管理

    使用步骤: 步骤一.在spring配置文件中引入<tx:>命名空间<beans xmlns="http://www.springframework.org/schema/b ...

  8. spring 事务管理方式及配置

    1.Spring声明式事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之前对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的 ...

  9. Spring事务注解@Transactional回滚问题

    Spring配置文件,声明事务时,如果rollback-for属性没有指定异常或者默认不写:经测试事务只回滚运行时异常(RuntimeException)和错误(Error). <!-- 配置事 ...

  10. Spring 使用注解方式进行事物管理

    大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅. 事物注解方式: @Transactional 当标于类前时, 标示类中所有方法都 ...

随机推荐

  1. 使用VideoToolbox硬编码H.264<转>

    文/落影loyinglin(简书作者)原文链接:http://www.jianshu.com/p/37784e363b8a著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. ======= ...

  2. BitLocker 加密工具挂起和恢复命令行(windows7)

    如果你的硬盘使用BitLocker加密了,但是有时候需要高效率的硬盘做某些事情,可以暂时挂起加密,命令行如下方便做个bat. 挂起: manage-bde -protectors -disable C ...

  3. 类似lol的友军视野怎么实现

    https://github.com/kbengine/kbengine/issues/129 你们可以按这个思路自己先改一下 例如: 可将队友的AOI实体也同步到自己的客户端中. 可对某些特定类型的 ...

  4. 最简单的JS图片轮播

    var arr=new Array(); arr[1]="";//放图片地址 arr[2]=""; arr[3]=""; var no=0; ...

  5. Sql Server中不常用的表运算符之APPLY(1)

    写在这个系列的前面: 就像他们的名字一样,作为一个表运算,他们用来运算左表和右表.JOIN也是一个表运算符,不过他太常用了. APPLY: 将右表表达式应用在左表的每一行上. APPLY是Sql200 ...

  6. Lisp中编写宏的步骤以及规范

    一.编写步骤 1.编写示例的宏调用以及它应当展开的代码,反之亦然. 2.编写从示例调用中生成手写展开式的代码. 3.确保宏抽象不产生"泄露". 二.遵循规则 1.除非有特殊理由,否 ...

  7. Servlet学习三——传输文件

    最先在考虑传输文件时,想通过java写一个文件上传案例,传给Servlet,Servlet再保存至数据库中,但苦于一直没找到实例,听说Flex有实际的例子,就直接用Flex例子来测试了.本文的顺序为: ...

  8. tablediff使用方法

    tablediff -sourceserver "db0093\sql2008" -sourcedatabase "testly" -sourcetable & ...

  9. javascript 伪协议

    [javascript 伪协议] 将javascript代码添加到客户端的方法是把它放置在伪协议说明符javascript:后的URL中.这个特殊的协议类型声明了URL的主体是任意的javascrip ...

  10. python 学习 第一课

    # -*- coding: utf-8 -*- import urllib2 import cookielib url="http://www.baidu.com" print ' ...