`
xuyuanshuaaa
  • 浏览: 396301 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

在javaweb中使用另一个spring java project的数据接口

 
阅读更多
最近我我开发的一个系统里边有老的代码, 这些老代码没有使用Spring, 我们准备用Spring改写老代码, 但是写到一半, 发现问题很多,然后我们又不想丢掉我们写好的新代码, 所以我们就需要找到一个方法,使我们能够在老的代码里访问Spring的bean. 我们都知道要访问Spring bean 我们就必须得到一个ApplicationContext 或者 BeanFactory 对象, 而ApplicationContext的BeanFactory 的子类, 拥有更强大的功能,ApplicationContext可以在服务器启动的时候自动实例化所有的bean,而 BeanFactory只有在调用getBean()的时候才去实例化那个bean, 这也是我们为什么要得到一个ApplicationContext对象, 事实上Spring2相关的web应用默认使用的是ApplicationContext对象去实例化bean, 换一句话说, 在服务器启动的时候,Spring容器就已经实例化好了一个ApplicationContext对象,所以我们要在老的代码里尝试去获取这个对象。 但是如何才能得到一个ApplicationContext对象呢?方法很多,最常用的办法就是用 ClassPathXmlApplicationContext, FileSystemClassPathXmlApplicationContext, FileSystemXmlApplicationContext 等对象去加载Spring配置文件,这样做也是可以, 但是在加载Spring配置文件的时候,就会生成一个新的ApplicaitonContext对象而不是Spring容器帮我们生成的哪一个, 这样就产生了冗余, 所以我们在这里不采用这种加载文件的方式,我们使用ApplicationContextAware让Spring容器传递自己生成的 ApplicationContext给我们, 然后我们把这个ApplicationContext设置成一个类的静态变量, 这样我们就随时都可以在老的代码里得到Application的对象了。

ApplicationContextHelper
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
 *
 * @author MinFei
 */
public class ApplicationContextHelper implements ApplicationContextAware {
    private static ApplicationContext appCtx;
    /**
     * 此方法可以把ApplicationContext对象inject到当前类中作为一个静态成员变量。
     * @param applicationContext ApplicationContext 对象.
     * @throws BeansException
     */
    @Override
    public void setApplicationContext( ApplicationContext applicationContext ) throws BeansException {
        appCtx = applicationContext;
    }
    /**
     * 这是一个便利的方法,帮助我们快速得到一个BEAN
     * @param beanName bean的名字
     * @return 返回一个bean对象
     */
    public static Object getBean( String beanName ) {
        return appCtx.getBean( beanName );
    }
}

配置 ApplicationContextHelper
   1. <bean id="SpringApplicationContext" class="com.company.helper.ApplicationContextHelper"></bean> 

使用这个方法去得到一个bean
BeanExample beanExample= (BeanExample )ApplicationContextHelper.getBean( "beanExample" );

这样我们在老代码里取得了一个Spring配置的对象, 然后我们就可以自由自在的在老代码里边享受Spring提供的功能。
分享到:
评论
2 楼 xuyuanshuaaa 2011-08-19  
beanexample 自己声明的一个类而已
1 楼 luoww1 2011-08-05  
BeanExample 是什么??什么是列方法???

相关推荐

    01_javaweb_javaweb开发_specialdrp_java编程_ArtReviewservlet_

    在实际操作中,开发者首先需要在Eclipse中创建一个Dynamic Web Project,然后添加必要的库,如Servlet和JSP的API。接着,编写ArtReviewServlet类,继承HttpServlet,重写doGet或doPost方法来处理HTTP请求。可能还...

    java,Javaweb开发,spring+springmvc+mybatis整合视频及maven使用及实战视频

    Spring 是一个开源的轻量级 Java 应用框架,它提供了完整的解决方案来简化企业级应用的开发过程。Spring 主要有以下几个特点: 1. **IoC 控制反转**:Spring 提供了依赖注入(DI)功能,帮助开发者管理对象之间的...

    JavaWeb Project 中使用JBPM,使用JUnit 4

    在JavaWeb项目中,JBPM(Business Process Management)是一个强大的工作流管理系统,它允许开发者设计、执行和管理业务流程。本篇文章将详细讲解如何在JavaWeb应用中集成并使用JBPM,以及如何配合JUnit 4进行单元...

    狂神说JavaWeb笔记.rar

    Model-View-Controller(模型-视图-控制器)模式在JavaWeb开发中广泛使用,分离业务逻辑、数据处理和用户界面。Servlet作为Controller,处理请求,调用Model进行业务处理,更新数据,然后通过JSP呈现View。 四、...

    手把手搭建一个完整的javaweb项目.zip

    在本教程中,我们将一起构建一个完整的Java Web项目,这个项目是基于Servlet和JSP技术,结合MyEclipse集成开发环境以及MySQL数据库来实现的。这个过程将涵盖多个关键知识点,对于初学者来说是非常有益的学习资源。 ...

    javaweb用到的java编译环境(2)

    Spring框架是一个全面的企业级应用开发框架,包括IOC(Inversion of Control,控制反转)容器、AOP(Aspect-Oriented Programming,面向切面编程)、MVC(Model-View-Controller,模型-视图-控制器)模式以及数据...

    javaweb企业门户网站

    在JavaWeb开发中,常用的框架有Spring Boot、Spring MVC、Struts2、Hibernate等,它们简化了开发流程,提供了丰富的功能,如依赖注入、数据持久化、安全控制等。同时,企业级应用还会涉及到数据库设计、安全性、性能...

    JavaWeb-Maven框架-黑马旅游网源码

    JavaWeb与Maven框架在开发黑马旅游网项目中的应用是一个重要的知识领域,它涉及到Web应用程序的构建、管理和部署。在这个项目中,Maven作为一个强大的项目管理工具,被用来解决依赖管理和构建流程,而JavaWeb技术则...

    spring mvc+spring+hibernaate+bootstrap+maven通用后台部门员工管理系统.zip

    这是一个基于Java技术栈的通用后台管理系统,主要使用了Spring MVC、Spring、Hibernate、Bootstrap和Maven等技术。这些技术在IT行业中广泛应用于企业级Web应用开发,构建高效、可维护的系统。下面将分别详细解释这些...

    教你如何搭建JavaWeb项目并配置Tomcat

    通过以上步骤,你已经成功地在Idea中搭建了一个简单的JavaWeb项目,并将其部署在了Tomcat服务器上。这只是JavaWeb开发的起点,实际项目中可能还需要涉及MVC架构、Spring框架、MyBatis持久层框架、数据库连接、安全...

    open-api-project:基于反射实现,高效 java版开放接口统一网关鉴权demo项目

    该项目旨在为Java开发者提供一个统一的、高效的接口网关鉴权示例,帮助他们理解和实践API权限管理。 【描述】中提到的"open-api-project"是整个项目的核心,它包含了对开放接口管理和鉴权的实现。"open-api-common...

    JavaWeb编程宝典源码

    在JavaWeb中,使用Ajax配合JSON数据格式能实现高效的前后端交互。 9. **安全与认证**:JavaWeb应用的安全性是不容忽视的一环,包括密码加密、防止SQL注入、XSS攻击防护、权限控制等。理解并实施这些安全措施是保障...

    JavaWeb上机练习6.zip

    【JavaWeb上机练习6.zip】是一个包含JavaWeb开发相关实践操作的压缩文件,由原创作者田超凡创作。在JavaWeb开发中,我们通常会接触到诸如Servlet、JSP、MVC模式、JDBC数据库连接、过滤器、监听器等核心概念。下面将...

    java毕设之javaWeb物资管理系统项目源码.rar

    在Java毕设项目中,"javaWeb物资管理系统"是一个常见的选题,它涉及到多个JavaWeb技术的应用,旨在实现对物资的入库、出库、库存查询等管理功能。这个项目不仅能够帮助学生巩固JavaWeb编程技能,还能让他们对实际...

    我的第一个javaweb项目(未优化版本)

    【标题】"我的第一个javaweb项目(未优化版本)" 涵盖了初学者在构建基于Java Web的应用程序时可能遇到的关键知识点。在这个项目中,开发者可能使用了Java Servlets、JSP(JavaServer Pages)以及MVC(Model-View-...

    基于ssh的web理财管理系统.rar_java_javaweb 项目_jsp_ssh

    SSH是三个Java开发框架的缩写,分别是Spring、Struts和Hibernate,它们共同构建了一个强大的Web应用程序开发框架。Spring提供了依赖注入(DI)和面向切面编程(AOP)功能,用于管理应用程序的复杂性;Struts是MVC...

    Javaweb项目

    【标题】"Javaweb项目"涉及到的是Java在Web开发中的应用,主要技术栈包括JSP、Spring、SpringMVC以及Maven。这个项目是一个典型的B/S(Browser/Server,浏览器/服务器)架构的电商系统,对于学习和理解Java Web开发...

    JavaWeb开发工具说明.pdf

    这通常在STS的"Preferences"菜单下进行,选择"Java" -&gt; "Installed JREs",然后添加或移除JRE路径,确保开发环境中使用的是期望的JRE版本。 服务器配置也是JavaWeb开发中不可或缺的部分。在STS中,我们可以配置...

    javaweb项目申报管理系统.zip

    JavaWeb是Java平台中的一个关键部分,它允许开发者构建动态、交互式的网页应用。本项目的核心特性可能包括用户登录验证、角色权限管理、项目创建、申报流程跟踪以及数据统计分析等功能。 **技术栈** 1. **Servlet与...

    Javaweb myeclipse基本使用教程

    在"myeclipse基本使用"这个文件中,很可能是详细讲述了以上的一些基本操作和流程,包括创建项目、编写代码、部署应用、数据库操作以及使用框架等。"MyEclipse_6使用教程.pdf"可能会更深入地介绍MyEclipse 6版本的...

Global site tag (gtag.js) - Google Analytics