1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
| package com.example.springmybitsdynamicdatasource;
import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component;
@Component public class SpringContext implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override public void setApplicationContext(ApplicationContext context) throws BeansException { applicationContext = context; }
public static ApplicationContext getApplicationContext() { return applicationContext; }
public static Object getBean(String beanName) throws BeansException { if (!SpringContext.containsBean(beanName)) { return null; } else { return applicationContext.getBean(beanName); } }
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 <T> T getBean(Class<T> requiredType, Object... args) throws BeansException { return applicationContext.getBean(requiredType, args); }
public static Object getBean(String name, Object... args) throws BeansException { return applicationContext.getBean(name, args); }
public static boolean containsBean(String name) { return applicationContext.containsBean(name); }
public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException { return applicationContext.isSingleton(name); }
@SuppressWarnings("rawtypes") 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 boolean isReady() { if (applicationContext != null) return true; return false; } }
|