spring 的注解能互相感知?

目前在用spring mvc写一个远程控制的工具。 今天写了两个类的dao层, 然后抽出了一个dao层接口。 导出接口时发现将原有类的注解@Transactional 也导到接口中了。  如果能将注解加到接口中,那就不需要一个个地加到实现类中了。

为了验证方法是否可靠,立马开工尝试。将第一个实现类(Class1)的注解去掉后,测试能正常跑通。 但将第二个实现类(Class2)的注解去掉后,就不通了。 反之,如果去掉Class2的注解同时保留Class1的注解,测试也能跑通。但如果两个都没有注解,仅接口有注解,就无法运行了。 这两个实现类似乎能互相感知?

这一次,我去掉了Class1的注解的同时去掉了接口的注解,结果测试无法走通。 印证了猜想,interface和其实现类之间,在遇到内部异常时,是可以互相参照的。这说明spring框架很健壮,很值得学习。遗憾的是我还没去读spring的源代码。。

附:

项目参见 github.com/acearth/EventManage.git

问题代码位于siat.pem.dao包下

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-08 10:08:16

spring 的注解能互相感知?的相关文章

使用轻量级Spring @Scheduled注解执行定时任务

WEB项目中需要加入一个定时执行任务,可以使用Quartz来实现,由于项目就一个定时任务,所以想简单点,不用去配置那些Quartz的配置文件,所以就采用了Spring @Scheduled注解来实现了定时任务.在这里做个备注. spring配置文件  xmlns中加入一段: xmlns:task="http://www.springframework.org/schema/task" 然后xsi:schemaLocation多加下面的内容: http://www.springframe

Spring JSR-250注解

Spring JSR-250注解 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名.类型等信息,如果关系表字段和 PO 属性名.类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取. 注释和 Java 代码位于一个文件中,而 XML 配置采用独立的配置文件,大多数配置信息在程序开发完成后都不会调整,如果

BlazeDS+Spring+SpringMVC 注解方式

BlazeDS是Flex与java通信的众多方式中的一种,其优点在于开源使用起来方便且性能能够满足中小型应用的常规要求,所以是很多中小型java应用与flex通信的首选方式. 而使用BlazeDS手动配置的配置文件比较多,若是借用spring的注解方式就能方便地进行配置了.以下为配置的步骤: 第一步当然是下载BlazeDS的相关jar包了,下载地址:http://sourceforge.net/adobe/blazeds/wiki/Downloads/; 还需要下载spring的相关包,这里不再

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

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

Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解

原创整理不易,转载请注明出处:Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解 代码下载地址:http://www.zuidaima.com/share/1772661373422592.htm 本文介绍了使用Spring注解注入属性的方法.使用注解以前,注入属性通过类以及配置文件来实现.现在,注入属性可以通过引入@Autowired注解,或者@Resource,@Qualifi

Spring常用注解总结

传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低.2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率.为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密

Spring MVC注解的一些案列

1.  spring MVC-annotation(注解)的配置文件ApplicationContext.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&quo

spring mvc(注解)上传文件的简单例子

spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationContext.xml中 <bean id=”multipartResolver” class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”/> 关于文件上传的配置不能少 大家可以看具体代码如下: web.xml &

spring常用注解使用讲解

spring常用注解使用讲解 本文讲述spring的几个常用的注解 @RequestMapping @RequestParam @ResponseBody @RequestBody @Autowired 一.@RequestMapping  RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. RequestMapping注解有六个属性,下面我们把她分成三类进行说明. 1. value, method: v