SpringContext

import java.util.Locale;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.MessageSourceResolvable;
import org.springframework.context.NoSuchMessageException;

import cn.mysteel.core.ServiceException;

public class SpringContext implements ApplicationContextAware
{
	private static ApplicationContext applicationContext;

	public static ApplicationContext getApplicationContext()
	{
		return applicationContext;
	}

	@SuppressWarnings("static-access")
	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
	{
		this.applicationContext = applicationContext;
	}

	public static Object getBean(String name) throws BeansException
	{
		return applicationContext.getBean(name);
	}

	public static <T> T getBean(Class<T> requiredType) throws BeansException
	{
		return applicationContext.getBean(requiredType);
	}

	public static <T> T getBean(String name, Class<T> requiredType) throws BeansException
	{
		return applicationContext.getBean(name, requiredType);
	}

	public static boolean containsBean(String name)
	{
		return applicationContext.containsBean(name);
	}

	public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException
	{
		return applicationContext.isSingleton(name);
	}

	public static Class<?> getType(String name) throws NoSuchBeanDefinitionException
	{
		return applicationContext.getType(name);
	}

	public static String[] getAliases(String name) throws NoSuchBeanDefinitionException
	{
		return applicationContext.getAliases(name);
	}

	public static String getMessage(String code, Object[] args, String defaultMessage, Locale locale)
	{
		return applicationContext.getMessage(code, args, defaultMessage, locale);
	}

	public static String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageException
	{
		return applicationContext.getMessage(code, args, locale);
	}

	public static String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException
	{
		return applicationContext.getMessage(resolvable, locale);
	}

	public static String getMessage(ServiceException serviceException)
	{
		return getMessage(String.valueOf(serviceException.getMessageCode()), serviceException.getMessageParams(), "No such message code [" + serviceException.getMessageCode() + "]",
				Locale.getDefault());
	}
}
相關文章
相關標籤/搜索