`
fanjf
  • 浏览: 332932 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

spring 配置完Service怎么得到Action

 
阅读更多

写一个手机发送短信的后台处理在包装短信时,今天遇到一个问题:

用的是(WebSphere, spring, hibernate)

我写完了Service后就在ssh(struts2)框架中配置了。hibernate 映射文件和spring配置文件:

但是没有在struts.xml中配置Action ,

这样就在java文件中使用了Service,

以前用ssh时候都是使用ssh框架通过依赖注入得到的Service或者是通过普通的方式new 一个Service得到的,现在就是想用spring配置后在

java类中不用spring依赖注入通过配置文件得到Service,怎么才能得到?
 

见过这种方式(可以得到但是我这老是报NUll异常找不到Service):

  mobileDataService = (MobileDataService)Framework.getEngine().getContainer().getComponent("mobileDataService");
  regionService = (RegionService)Framework.getEngine().getContainer().getComponent("regionService");
  groupToRegionService = (GroupToRegionService)Framework.getEngine().getContainer().getComponent("groupToRegionService");


说明:

mobileDataService,regionService,groupToRegionService 都是在spring中配置过的;如下
 

<bean id="mobileDataService" class="*********.domain.service.MobileDataServiceImpl">
   <property name="***Manager" ref="***Manager"></property>
</bean>

<bean id="regionService" class="************.service.RegionServiceImpl">
  <property name="***Manager" ref="****Manager"/>
  <property name="***Manager" ref="****Manager"/>
 </bean>

<bean id="groupToRegionService" class="************.service.GroupToRegionServiceImpl">
  <property name="***Manager" ref="****Manager"/>
  <property name="***Manager" ref="****Manager"/>
 </bean>

Test.java
(不用配置Action,不用new的方式,怎么得到?)

这个问题是我从网上看来的,在这里给出下自己的思路:

1,可以通过xStream读取spring的配置文件xml,分析每个<bean>的属性(id,class)以及子节点<property>的属性(name,ref)。

2,以<bean>的id为key,class为value的Map的类型。存放系统的的工程环境中,方便全系统调用。

3,最好做到根据xml文件的最后修改时间,时时动态加载,基本原理:每次读取Map时,判断文件最后的修改时间和上一次的修改时间是否一致

,不一致则重新装载Map。

4,在系统的工程环境类中,定义统一的调用service的入口,入参为<bean>的id值,出参为object。
形如:public static Object getServiceCaseByBeanId(String beanId);
通过Java反射机制,生成class对应类的实例,返回给调用者。

4,当每个action层,需要使用service的实例对象时,只需要知道该service接口(类)的<bean>的id,即可取得该类的实例。

分享到:
评论

相关推荐

    Spring集成AXIS2的Web_service配置方法

    Spring 集成 AXIS2 的 Web service 配置方法 Spring 是一个流行的 Java 应用程序框架,它提供了一个灵活的方式来构建企业级应用程序。AXIS2 是一个流行的 Web Service 引擎,它提供了一个强大的方式来构建 Web ...

    大型项目的struts,spring配置文件

    这个配置文件用于告诉Struts如何使用Spring管理Action,通常通过`&lt;struts:action&gt;`标签指定Action的类,然后通过Spring的id引用该类。 在大型项目中,为了提高可维护性和可扩展性,配置文件通常会被分解成多个部分...

    spring配置步骤

    ### Spring配置步骤详解 #### 一、Spring框架简介 Spring框架是Java平台上的一个开源框架,它提供了一种简化企业级应用开发的方式。Spring的核心功能包括依赖注入(Dependency Injection, DI)、面向切面编程...

    hibernate+spring配置文件

    标题"hibernate+spring配置文件"指出了我们需要关注的重点,即如何将这两个框架协同工作。首先,我们需要在Spring的配置文件中引入Hibernate的相关bean,通常命名为`applicationContext.xml`。这个文件是Spring的IoC...

    详解Spring的配置文件

    ### Spring配置文件详解 #### 一、Spring框架简介与配置文件的重要性 Spring 是一个开源的 Java 平台框架,提供了一种轻量级的应用程序开发方式。它通过依赖注入(Dependency Injection, DI)和面向切面编程...

    Struts2 Spring Jpa 配置测试

    2. **Spring配置**:Spring的配置通常包含在`applicationContext.xml`或类似的配置文件中。这里需要配置Spring的IoC容器,声明Bean并设置其依赖。对于Struts2,Spring可以通过`struts-plugin.xml`与Struts2进行集成...

    spring整合struts2与hibernate核心配置文件

    1. **Spring配置**:设置数据源,创建SessionFactory Bean,配置事务管理器。 2. **Struts2配置**:启用Spring插件,配置Action类为Spring管理的bean。 3. **Hibernate配置**:配置数据库连接信息,定义实体类映射,...

    Spring依赖包和配置文件

    二、Spring配置文件 1. **beans.xml**:这是Spring应用中最常见的配置文件,用于定义bean及其依赖关系。在这里,我们可以声明bean的类、属性、初始化方法、依赖注入等。 2. **applicationContext.xml**:此文件通常...

    stute+spring+helete配置文件

    二、Spring配置 Spring框架的配置通常涉及多个XML文件,这里提到了三个文件: 1. 主配置文件:定义Spring的核心配置,如bean的定义、数据源、事务管理等。 2. 数据访问/持久层配置:配置数据源、DAO接口实现类以及...

    Spring通知的配置

    在深入探讨Spring通知的配置之前,我们先简要回顾一下Spring框架的核心概念。Spring是一个开源的、轻量级的Java应用框架,旨在简化企业级应用的开发。它提供了丰富的功能,包括依赖注入(Dependency Injection,DI)...

    Spring in Action 第二版

    《Spring in Action 第二版》是一本专注于Spring框架实战的权威指南,于2007年8月出版。这本书深入浅出地介绍了Spring的核心概念、关键特性以及在实际开发中的应用,是Java开发者掌握Spring技术的重要参考资料。标签...

    spring配置文件详解

    ### Spring配置文件详解 #### 一、引言 在Java Web开发领域中,Spring框架以其强大的功能和灵活性占据了举足轻重的地位。Spring的核心之一在于它的依赖注入(DI)和面向切面编程(AOP)特性,而这些特性的实现离不...

    Spring的Annotation配置相关讲义

    在Spring 3.0及以上版本中,Annotation配置得到了广泛的应用。 首先,启用Spring的Annotation配置需要在`beans.xml`配置文件中添加特定的命名空间和元数据。以下是启用Annotation配置的关键步骤: ```xml ...

    spring source spring integration in action 随书源码 example code

    《Spring Source Spring Integration in Action》是一本专注于Spring Integration框架的实战指南,旨在帮助读者深入理解和应用这个强大的系统集成工具。Spring Integration是Spring框架家族的一部分,它提供了一种...

    spring3 mvc 注解action dao service 实例教程

    ### Spring 3 MVC 注解Action DAO Service 实例教程 #### 一、Spring 3 MVC 注解概述 Spring框架自诞生以来一直致力于为复杂的软件工程问题提供简洁且非侵入式的解决方案。随着版本的演进,Spring 2.0 引入了定制...

    利用spring管理strurs里的Action

    原本直接指定Action类的类型,现在需要改为`DelegatingActionProxy`,这是一个Spring提供的代理类,它会根据Spring配置文件来创建和管理Action实例。例如: ```xml &lt;!-- 原始的Action定义 --&gt; &lt;action path="/...

    Spring声明式事务配置模板2.x

    5. **action-servlet.xml**:虽然这个文件名通常与Struts2的配置关联,但在Spring MVC中,也可能包含关于Controller层的配置。在Spring 2.x版本中,可能会定义DispatcherServlet的配置,如视图解析器、模型-视图映射...

    Struts2+spring注解配置简介

    首先,我们需要在Struts2的配置中启用Spring插件,然后在Spring的配置文件中声明Action类为bean。这样,Spring会负责Action类的实例化和依赖注入,而Struts2会处理请求分发。 在实际应用中,我们还可以利用Struts2...

    Spring+Struts+Hibernate比较详细的整合配置方案

    - 创建Spring配置文件(如`applicationContext.xml`),配置Bean定义,包括Service层、DAO层以及Action类等的实例化和依赖注入。 - 使用Spring的AOP功能,实现事务管理。例如,可以定义一个事务切面,对需要进行...

    Stuts2+Spring+JDBC的配置

    总结来说,Struts2+Spring+JDBC的配置涉及Struts2的Action和拦截器配置、Spring的IOC和AOP配置,以及JDBC的数据库操作。这三者的结合,能帮助开发者构建出健壮、灵活的Java Web应用。在实际开发中,需要根据项目需求...

Global site tag (gtag.js) - Google Analytics