@Component public class SpringUtils implements ApplicationContextAware { private static ApplicationContext applicationContext; /** * @return * @Description 获取applicationContext */ public static ApplicationContext getApplicationContext() { return applicationContext; } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if (SpringUtils.applicationContext == null) { SpringUtils.applicationContext = applicationContext; } } /** * @param name * @return * @Description 通过name获取 Bean. */ public static Object getBean(String name) { return getApplicationContext().getBean(name); } /** * @param clazz * @return * @Description 通过class获取Bean. */ public static <T> T getBean(Class<T> clazz) { return getApplicationContext().getBean(clazz); } /** * @param name * @param clazz * @return * @Description 通过name, 以及Clazz返回指定的Bean */ public static <T> T getBean(String name, Class<T> clazz) { return getApplicationContext().getBean(name, clazz); } }
注意:
@Component具有全局性
@Configuration也具有全局性
@Service
@Bean 初始化的时候加载,用在方法上,返回当前方法的对象
@Value 从配置文件中读取值