spring-ioc 1

相信大家spring的操作都能够熟练的运用了,对于spring的一些内部实现原理是怎么样的呢?spring的IOC是怎么整合到web容器中的呢。

在启动时spring会加载ContextLoader.properties文件:org.springframework.web.context.WebApplicationContext=org.springframework.web.context.support.XmlWebApplicationContext
从中可以看出XmlWebApplicationContext是web应用加载的类,spring的继承还是比较复杂的,下面用简单的图表示下

 

/** Default config location for the root context */
	默认的加载的配置文件
	public static final String DEFAULT_CONFIG_LOCATION = "/WEB-INF/applicationContext.xml";

	/** Default prefix for building a config location for a namespace */
	public static final String DEFAULT_CONFIG_LOCATION_PREFIX = "/WEB-INF/";
	/** 默认文件的后缀名*/
	public static final String DEFAULT_CONFIG_LOCATION_SUFFIX = ".xml";
 
//这个方法是加载配置文件,如果没有设置namespace则加载/WEB-INF/applicationContext.xml,想spring mvc则会设置namespace,所以
//配置的时候需要用/WEB-INF/xxx.xml,这个以后再讲
 protected String[] getDefaultConfigLocations() {
  if (getNamespace() != null) {
   return new String[] {DEFAULT_CONFIG_LOCATION_PREFIX + getNamespace() + DEFAULT_CONFIG_LOCATION_SUFFIX};
  }
  else {
   return new String[] {DEFAULT_CONFIG_LOCATION};
  }
 }
//这边是加载bean配置的地方,稍后详解
protected void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws IOException {
//第一个被加载的配置文件
  String[] configLocations = getConfigLocations();
  if (configLocations != null) {
   for (String configLocation : configLocations) {
    reader.loadBeanDefinitions(configLocation);
   }
  }
 }
三到四
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值