Context类实现ApplicationContextAware接口
并且需要加上@Component注解 不加无法通过此方法获取bean
@Component
public class Context implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
context=applicationContext;
}
// 未使用泛型,获取后需要强制类型转换
// public static Object getBean(String bean){
// return context.getBean(bean);
// }
// 使用泛型,获取后不用强制类型转换
public static <T>T getBean(String bean){
return (T) context.getBean(bean);
}
}
学生Bean
不加@Scope(“prototype”)默认为单例
@Component
// @Scope("prototype")
public class Student {
private int id;
private String name;
...
}
获取学生Bean
// 未使用泛型,获取后需要强制类型转换
// Student student = (Student) Context.getBean("student");
// 使用泛型,获取后不用强制类型转换
Student student = Context.getBean("student");