package com.newgrand.dkinterfacetest.test;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class ApplicationContextHolder implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
context = applicationContext;
}
public static <T> T getBean(Class<T> type){
return context.getBean(type);
}
}
通过getBean方法获取容器中的实例,在静态方法中调用:
package com.newgrand.dkinterfacetest.test;
import com.newgrand.dkinterfacetest.controller.Controller;
public class ApplicationTest {
public static void getBeanTest(){
Controller controller = ApplicationContextHolder.getBean(Controller.class);
}
}