spring上下文的设计

2020-07-15  本文已影响0人  小陈中间件

核心抽象类的职责

// 刷新BeanFactory,用于执行实际的配置加载,该方法在其他的初始化工作之前被refresh()方法调用
protected abstract void refreshBeanFactory() throws BeansException, IllegalStateException;
// 关闭BeanFactory,用于释放内部使用的BeanFactory·
protected abstract void closeBeanFactory();
// 获取内部使用的BeanFactory
public abstract ConfigurableListableBeanFactory getBeanFactory() throws IllegalStateException;
GenericApplicationContext ctx = new GenericApplicationContext();
//使用XmlBeanDefinitionReader
XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx);
//加载ClassPathResource
xmlReader.loadBeanDefinitions(new ClassPathResource("applicationContext.xml"));
PropertiesBeanDefinitionReader propReader = new PropertiesBeanDefinitionReader(ctx);
propReader.loadBeanDefinitions(new ClassPathResource("myBeans.properties"));
//调用Refresh方法
ctx.refresh();
//和其他ApplicationContext方法一样的使用方式
User user= (User) ctx.getBean("User");
 // 设置web应用上下文的ServletContext
 void setServletContext(@Nullable ServletContext servletContext);
 // 设置web应用上下文的ServletConfig
 void setServletConfig(@Nullable ServletConfig servletConfig);
 // 获取web应用上下文的ServletConfig
 ServletConfig getServletConfig();
 // 设置web应用上下文的命名空间
 void setNamespace(@Nullable String namespace);
 // 获取web应用上下文的命名空间
 String getNamespace();
 // 以初始化参数的形式设置web应用上下文的配置文件位置
 void setConfigLocation(String configLocation);
 // 设置web应用上下文的配置文件的位置
 void setConfigLocations(String... configLocations);
 // 获取web应用上下文的配置文件位置
 String[] getConfigLocations();
上一篇 下一篇

猜你喜欢

热点阅读