`
weitao1026
  • 浏览: 1058364 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

dao层的对象获得不到

 
阅读更多

最近在做项目的时候出了个问题,大家很熟悉的空指针异常,说实话已经很久没遇到这个异常了,就算有时候遇到也就是分分钟解决的事,但是这次搞了一晚上,纠结了一晚上。。。

 

用的框架是springmvc

 

当时的业务大概是这样的,需要一个定时任务去轮询查询,根据结果发送邮件,都是通过注解的方式,定时任务也通过注解获取了dao层的对象,但是在定时任务中查询就是报空指针异常,但是把查询的代码放到service层调用就没问题,最后解决办法如下:

 

[java] view plain copy
 
print?
  1. IAlarmDao alarmDao = (IAlarmDao) BeanFactoryUtil.getBean("alarmDao");  
IAlarmDao alarmDao = (IAlarmDao) BeanFactoryUtil.getBean("alarmDao");

 

 

不用注解获取对象,直接用工场类,这样获取dao层的对象,在调用查询的方法就没问题了。

分享到:
评论

相关推荐

    省略dao层,采用全注解完成登录功能

    在本项目中,"省略DAO层,采用全注解完成登录功能"是一个创新的实践,旨在简化传统的Java Web开发中的数据访问层(DAO层)结构。DAO层通常用于处理数据库交互,但在本示例中,我们将看到如何利用Java的注解技术来减少...

    JSP+DAOD的设计模式,完全体现了业务层与数据层,显示层的关系

    JSP页面可以包含HTML、CSS、JavaScript以及嵌入的Java代码,这些Java代码通常用于处理页面逻辑和调用DAO层的服务。 例如,当用户点击“添加用户”按钮时,JSP页面会发送一个HTTP请求到服务器,服务器上的Servlet或...

    自动生成MVC中的Service层、Dao层及Model层代码

    通过自动生成Dao层代码,我们可以快速得到数据库操作的模板,如查询、插入、更新和删除等方法。 Model层,也称为实体层,它代表了数据库中的表或集合对象。Model类通常包含与数据库表字段相对应的属性,并提供...

    泛型dao 泛型dao 泛型dao

    泛型serviceimpl与serviceimpl实现和dao层实现一样。 Action : SavePersonAction直接调用PersonService。 下面是代码 为了演示减少代码量而且直观去掉些方法方便读者自己扩展写出适合自己的代码,这里我只...

    idea的mybatis插件支持从dao到maper

    本文将详细介绍Idea的Mybatis插件及其如何帮助我们从DAO层直接进入Mapper文件,从而实现更便捷的Mybatis相关DAO到Mapper的开发。 MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis...

    S2SH中JSP页面调用dao的方法

    如果直接在JSP页面尝试调用DAO层的方法,很可能会遇到空指针异常,这是因为JSP页面无法直接获取到Spring容器管理的对象实例。因此,我们需要一种方法使得JSP页面能够间接地调用DAO层的方法。 #### 三、解决方案步骤...

    一个很好的通用泛型dao(含源码)

    为什么我们要使用通用DAO接口呢,因为我们的数据库操作无非是增删改查,CRUD操作,我们不需要为每个实体去编写一个dao接口,对于相似的实体操作可以只编写一个通用接口,然后采用不同的实现! DAO已经成为持久层...

    hibenate 对DAO的封装

    在实际项目中,为了提高代码的复用性和可维护性,通常会对DAO层进行封装。本主题主要探讨的是如何使用泛型和反射技术来实现Hibernate对DAO的封装,从而创建一个通用的DAO模板,减少开发者重复编写CRUD(Create、Read...

    自动生成mysql持久层dao,实体类及映射文件mapper

    通过自动生成DAO,我们可以快速得到与数据库表对应的Java接口和实现类,从而快速构建数据访问层。 接着,实体类(Entity Class)是数据库表的Java对象表示,它们通常包含了表中的字段及其属性,用于数据传输和持久...

    虚拟数据层 Struts2、Hibernate、Spring整合的泛型DAO Version 2010.9.27

    泛型serviceimpl与serviceimpl实现和dao层实现一样。 Action : SavePersonAction直接调用PersonService。 下面是代码 为了演示减少代码量而且直观去掉些方法方便读者自己扩展写出适合自己的代码,这里我只...

    DAOProject.rar_dao

    - 降低模块间的耦合:业务逻辑层只与DAO接口交互,不关心具体的数据访问细节。 - 提高可测试性:因为DAO接口是独立的,可以很容易地为测试编写模拟的实现。 - 有利于代码复用:不同的数据表可以有类似的DAO实现,...

    案例-案例-使用Struts+DAO完成用户登陆

    4. DAO层封装了与数据库的所有交互,包括SQL查询、参数绑定等,确保业务逻辑与数据访问的解耦。 5. 如果验证成功,Action返回一个表示登录成功的Result,可能会重定向到新的页面;如果失败,返回一个表示错误的...

    JavaEE技术-DAO设计模式

    5. DAO工厂类:是一个创建DAO实现类实例的工厂,它提供了一个静态方法,通过这个方法可以得到DAO实现类的实例。使用工厂类的好处在于,当需要更换数据库或者数据库类型(如从MySQL更换为Oracle)时,不需要修改大量...

    Node.js的DAO框架bearcat-dao.zip

    bearcat-dao 在类(model)和数据库之间建立了一个额外的中间层,这就为如何在类和数据库表之间建立映射关系带来了更大的灵活性,使得在不用改变数据模型或者对象模型的情况下改变它们的映射关系成为可能。...

    ssm框架自动生成实体类及dao,mapper

    5. **DAO(Data Access Object)**:DAO是数据访问对象,它是数据库操作的抽象层,用于封装对数据库的查询和更新操作。自动生成DAO的基本方法意味着系统会根据表结构自动创建CRUD(Create, Read, Update, Delete)...

    可视化生成service,dao工具

    在IT行业中,开发人员经常需要处理数据库操作,创建与数据表对应的Java对象,以及相应的服务层和服务接口、数据访问对象(DAO)和映射器(Mapper)文件。手动编写这些代码既耗时又容易出错。为了提高效率,开发者...

    一个通用的Hibernate DAO

    ### 一个通用的Hibernate DAO知识点解析...综上所述,这是一个典型的Hibernate DAO层实现示例,它通过封装一系列基本的CRUD(创建、读取、更新、删除)操作,为上层业务逻辑提供了一致的接口,从而简化了数据访问过程。

    Java Web程序运用中泛型DAO的作用.zip

    DAO类处理所有数据库操作,使得业务逻辑层可以专注于处理核心业务,而不必关心底层的数据存取细节。而泛型DAO是DAO模式的一个进阶应用,它通过引入泛型来提高代码的复用性和可维护性。 泛型(Generics)是Java 5...

    spring3 mvc 注解action dao service 实例教程

    除了Web层之外,Spring 3还提供了针对数据访问层(DAO)和服务层(Service)的注解支持。 ##### 1. 数据访问层(DAO) 在数据访问层,通常会使用`@Repository`注解来标注DAO类。这不仅有助于标识该类的作用域,还...

    po vo dto bo to

    - BO对象负责调用DAO层获取数据,同时处理VO对象进行业务逻辑处理。 **特点:** - BO对象是业务逻辑的核心,负责协调系统内的数据流和控制流。 - BO对象可以调用多个DAO对象,并且可能涉及到多个VO对象的组合。 - ...

Global site tag (gtag.js) - Google Analytics