SpringContextUtil.java 1.48 KB
package com.bjivt.util;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;


@Component
public class SpringContextUtil  implements ApplicationContextAware {
	  private static ApplicationContext applicationContext; // Spring应用上下文环境

      /*
       * 实现了ApplicationContextAware 接口,必须实现该方法;
       *通过传递applicationContext参数初始化成员变量applicationContext
       */
	  
      public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            this.applicationContext = applicationContext;
      }

      public static ApplicationContext getApplicationContext() {
             return applicationContext;
      }
      
      /**
       * 根据bean名称,获取service\dao
       * @param name
       * @return
       * @throws BeansException
       */
       @SuppressWarnings("unchecked")
       public static <T> T getBean(String name) throws BeansException {
    	  
             return (T) applicationContext.getBean(name);
      }
       /**
        * 根据class,获取service\dao
        * @param name
        * @return
        * @throws BeansException
        */
       @SuppressWarnings("unchecked")
       public static <T> T getBean(Class cla) throws BeansException {
             return (T) applicationContext.getBean(cla);
      }
}