电话:0731-83595998
导航

Spring中的service之间如何调用

来源: 2017-12-13 15:01

 在基于struts+spring+hibernate的开发框架下,一般service都是直接通过在Struts的action中getBean("yourServiceName")来获取,那么如果在serviceA中想调用serviceB中的方法该如何呢?

   直接new 一个serviceB是不行的,因为里面可能还有依赖注入的dao等其他本来需要容器管理的资源,可以象在action中一样getBean()么?

   获得applicationContext就可以了:

AppContext : public class AppContext {
  
    return applicationContext;
  public static void setApplicationContext(
    AppContext.applicationContext = applicationContext;
}


public class SpringBeanService {
  private static SpringBeanService instance;
  private ApplicationContext applicationContext;
  public static synchronized SpringBeanService getInstance() {
    if (instance == null) {
      instance = new SpringBeanService();
    }
    return instance;
  }
  public ApplicationContext getApplicationContext() {
    return this.applicationContext;
  }
  public void setApplicationContext(ApplicationContext applicationContext) {
    this.applicationContext = applicationContext;
  }
  public UserService getUserService(){
    return (UserService)AppContext.getApplicationContext().getBean("userService");
  }
  
  }

ApplicationContext的初始化:

public class ConfigLoadListener implements ServletContextListener {
  public void contextInitialized(ServletContextEvent contextEvent) {  
      WebApplicationContext context =WebApplicationContextUtils.getRequiredWebApplicationContext(contextEvent.getServletContext());

      try {
        String path=context2.getInitParameter("setting.properties");
        Properties properties = new Properties();
        GlobalConstant.setCmdbProperties(properties);
      } catch (IOException e) {
      }
      System.out.println("系统无法初始化,异常退出");
    }
  
  }


这篇文章大家可以参考一下,和有类似之处:

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端