`

关于web项目中非spring管理的类调用spring控制的类的问题

阅读更多
今天项目中用到了非spring管理的类调用spring管理的类,搞了将近一天都是空指针错误真不知道是怎么搞的。最终仔细分析了下我的需求是从串口中读数放入数据库但是另外几个类都是由spring接管的持久层用的ibatis而我在串口中的那个类无论如何都是调用不了这几个类。
    在网上找了很多也不尽人意,最终还是回到了最原始最简单的办法。方法如下:
String[] str = {"这个里面写你的所有的spring文件的路径"};
BeanFactory bf = new ClassPathXmlApplication(str);
然后比如我要用的是这样
MeterdatahisLogic = meterDataHisLogic  = (MeterdatahisLogicImpl)bf.getBean("这里写你想用的那个类在spring中的名字");
注意强制转换后的类型一定要是你spring中写的那个名字的类而不是这个接口。
这下好了你已经拿到了你想要的东西了可以开始你的业务逻辑了。希望这篇博客能对你有用!
分享到:
评论

相关推荐

    C#调用DLL中非托管C++函数参数类型对照

    C#调用DLL中非托管C++函数参数类型对照 在C#编程中,经常需要调用C++中的DLL类库,这就需要了解C++中的函数参数类型在C#中的对应关系。以下是基本数据类型的对照: * 一维数组:C#参数在基本类型前加ref或out,out...

    JeeWeb-Mybatis-myeclipse(非maven版本)

    在JeeWeb中,我们还可以利用其提供的拦截器、权限控制、日志管理等功能。Shiro框架可以用来处理用户的登录、授权和会话管理。Quartz则可用来实现定时任务的调度。 总的来说,“JeeWeb-Mybatis-myeclipse(非maven...

    mfc:单文档中对话框类调用视图类和框架类成员变量的实例

    建立一个单文档mfc程序,设计一个菜单按钮,可以弹出一个对话框。在对话框中使用视图类和框架类中的变量。说明:http://blog.csdn.net/tywwwww/article/details/55281565

    在基于CMPP3.0协议的互联网短信平台中非托管模块的调用方法.pdf

    4. **数据转换**:由于托管和非托管环境的内存管理方式不同,数据类型转换是调用非托管模块时常见的问题。需要确保正确处理指针、结构体等数据类型的转换。 5. **异常处理**:非托管代码可能抛出未捕获的异常,需要...

    struts2+spring+hibernate采购项目

    以前在公司基于struts2+spring+hibernate+jqgrid做的一个小项目,可用于学习s2sh,里面文档脚本都齐全。 1、前言 本项目的名称为“简单采购系统”。本需求说明书是对该项目中各种功能需求及相关周边环境的完整说明。...

    Spring学习篇AOP知识整理编程开发技术共4页.pdf

    总之,Spring AOP是Spring框架中的重要组成部分,它极大地简化了系统中非业务逻辑代码的编写,提高了代码的可读性和可维护性。理解和熟练使用Spring AOP,能够使你在Java开发领域更加得心应手,提高开发效率。因此,...

    项目管理内容、综合练习、选择题

    项目整体管理 1. 你是一个领先的谷物加工公司的项目经理,正在开发一种能防治口蹄疫的饲料。你的项 目发起人最近刚从乔治·华盛顿大学获得项目... 包括 WBS中非项目管理元素的工作包 d. 已由项目干系人批准的项目需求

    比亚迪中非Be_link电池云管理项目_Be_link.zip

    比亚迪中非Be_link电池云管理项目_Be_link

    php_web项目中utf-8的问题.do

    ### PHP Web项目中UTF-8编码问题详解 #### 一、HTML页面转UTF-8编码问题 1. **HTML头部元信息** 在`<head>`标签内,且位于`<title>`标签之前,必须添加`;charset=utf-8" />`来指定页面的字符集为UTF-8。这是为了...

    基于MATLAB的多类分类

    【基于MATLAB的多类分类】是一个利用MATLAB编程实现的分类系统,它旨在处理具有三个及以上类别的数据分类问题。在多类分类中,目标是将数据分配到多个可能的类别之一,这对于图像识别、自然语言处理和生物医学数据...

    软件项目管理术语表

    行政变更是指项目管理过程中非技术性的变更,如项目团队成员的调整、资源配置的变化等。行政变更通常需要遵循一定的流程,并由项目经理或其他指定人员审批。 通过以上知识点的详细解释,我们可以看到软件项目管理...

    laravel框架模型中非静态方法也能静态调用的原理分析

    本文实例讲述了laravel框架模型中非静态方法也能静态调用的原理.分享给大家供大家参考,具体如下: 刚开始用laravel模型时,为了方便一直写静态方法,进行数据库操作。 <?php namespace App\Models; use ...

    项目成本控制_其他费用情况表.doc

    "项目成本控制_其他费用情况表.doc" 文件显然是一份用于跟踪和管理项目中非直接或间接成本的工具,这些费用通常包括但不限于行政费用、差旅费、培训费、咨询费、设备租赁等。以下是对这个表格及其相关知识点的详细...

    中非商贸资讯爬虫任务管理平台操作手册.docx

    《中非商贸资讯爬虫任务管理平台操作手册》旨在提供一套详尽的指南,帮助用户理解和操作这个专门针对中非商贸信息的爬虫任务管理工具。该平台的主要目标是优化平台架构,提升容错能力,提高运维效率,并方便地管理...

    C#跨线程调用控件的四种方式

    为了解决这个问题,开发者需要使用特定的方法来跨线程安全地调用控件。以下就是C#中非控件创建线程调用控件的四种主要方式: 1. **Control.Invoke() 和 Control.BeginInvoke()** 这是最常见的处理跨线程操作的方法...

    springmvc-login-interceptor

    总之,Spring MVC的拦截器是实现Web应用程序中非核心业务逻辑的一种有效手段,如权限控制、性能监控等。在"springmvc-login-interceptor"项目中,你将学习到如何利用拦截器来实现登录验证,提升系统的安全性和用户...

Global site tag (gtag.js) - Google Analytics