org.springframework.web.context.ContextLoaderListener这是web.xml中容易的启动配置
1.org.springframework.core.io.support.PropertiesLoaderUtils
spring中加载属性配制文件的工具类,也可以加载xml文件
本质上还是调用jdk的Properties与XMLUtils类
2.web中默认的用org.springframework.web.context.support.XmlWebApplicationContext作为容器类,是在ContextLoader.properties中配置的,也可以自己指定,但要在web.xml中用contextClass定义
3.org.springframework.beans.BeanUtils工具类,有根据反射实例化对象的方法
4.spring中重要的接口
Bean factory implementations should support the standard bean lifecycle interfaces* as far as possible. The full set of initialization methods and their standard order is:
* 1. BeanNameAware's {@code setBeanName}<br>
* 2. BeanClassLoaderAware's {@code setBeanClassLoader}<br>
* 3. BeanFactoryAware's {@code setBeanFactory}<br>
* 4. ResourceLoaderAware's {@code setResourceLoader}
* (only applicable when running in an application context)<br>
* 5. ApplicationEventPublisherAware's {@code setApplicationEventPublisher}
* (only applicable when running in an application context)<br>
* 6. MessageSourceAware's {@code setMessageSource}
* (only applicable when running in an application context)<br>
* 7. ApplicationContextAware's {@code setApplicationContext}
* (only applicable when running in an application context)<br>
* 8. ServletContextAware's {@code setServletContext}
* (only applicable when running in a web application context)<br>
* 9. {@code postProcessBeforeInitialization} methods of BeanPostProcessors<br>
* 10. InitializingBean's {@code afterPropertiesSet}<br>
* 11. a custom init-method definition<br>
* 12. {@code postProcessAfterInitialization} methods of BeanPostProcessors
*
* On shutdown of a bean factory, the following lifecycle methods apply:<br>
* 1. DisposableBean's {@code destroy}<br>
* 2. a custom destroy-method definition
先添加两个BeanPostProcessor
org.springframework.context.support.ApplicationContextAwareProcessor
org.springframework.web.context.support.ServletContextAwareProcessor
org.springframework.context.annotation.internalConfigurationAnnotationProcessor
org.mybatis.spring.mapper.MapperScannerConfigurer
几个常用的BeanFactoryPostProcessor
org.springframework.context.support.PropertySourcesPlaceholderConfigurer
org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
几个常用的BeanPostProcessor
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor
org.springframework.context.annotation.CommonAnnotationBeanPostProcessor
org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator
org.springframework.context.annotation.ConfigurationClassPostProcessor
先加载xml文件,每个类生成一个BeanDefinition,在BeanFactoryPostProcessor中替换属性占位符
org.springframework.context.support.PropertySourcesPlaceholderConfigurer
org.springframework.core.env.PropertySourcesPropertyResolver
org.springframework.util.StringValueResolver
org.springframework.beans.factory.config.BeanDefinitionVisitor
org.springframework.util.PropertyPlaceholderHelper