普通类调用Spring bean对象

来源:互联网 发布:95后听的网络歌曲 编辑:程序博客网 时间:2024/05/04 12:16

1.实现接口ApplicationContextAware 
    这种方式是实现接口的方式,本人比较喜欢这种方式,因为这种方式扩展性比较强,可以根据需要在加入其他的接口。

package com.gameco.util;

//
//created by chenjianling 2013-07-31
//
//import javax.faces.application.Application;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
importorg.springframework.context.support.ApplicationObjectSupport;
importorg.springframework.web.context.support.WebApplicationObjectSupport;

public class ThtApplicationContext implementsApplicationContextAware {
 private static ApplicationContextapplicationContext = null;

 @Override
 public voidsetApplicationContext(ApplicationContext applicationContext)
   throwsBeansException {
  // TODO Auto-generated methodstub
  if(ThtApplicationContext.applicationContext == null) {
   ThtApplicationContext.applicationContext= applicationContext;
   System.out.println();
   System.out.println();
   System.out
     .println("---------------------------------------------------------------------");
   System.out
     .println("========ApplicationContext配置成功,在普通类可以通过调用ToolSpring.getAppContext()获取applicationContext对象,applicationContext="
       +applicationContext + "========");
   System.out
     .println("---------------------------------------------------------------------");
   System.out.println();
   System.out.println();
  }
 }

 public static ApplicationContextgetApplicationContext() {
  returnapplicationContext;
 }

 public static Object getBean(String name){
  returngetApplicationContext().getBean(name);
 }
}
在Spring配置文件中加入:
 <!-- ThtApplicationContextchenjianling 2013-07-31 -->
 <bean id="thtApplicationContext"class="com.gameco.util.ThtApplicationContext"></bean>

在其他类通过使用 :

com.gameco.util.ThtApplicationContext.getBean("beanID");
  

0 0