-
xml文件定义contextLoaderListener
-
contextLoaderListener继承了ServletContextLoader,当server容器启动时会受到初始化消息,初始化时,加载并判断是否重复注册WebApplicationContext,然后启动log等。
-
创建WebApplicationContext,determineContextClass查明具体的context类,这里如果不配置默认会加载ContextLoader.properities下面配置的XMLWebApplicationContext
contextLoader读取web.xml中配置的contextConfigLocation参数,如果没有就去找WEB-INF下面的applicationContext文件,并将这个属性注入到XMLWebApplicationContext。
执行refresh方法:资源加载、配置文件解析、bean注册等 -
具体加载Bean的时候,将非懒加载的bean加载进来,实例化的时候如果有无参构造器就用java动态发射技术加载进来,否则生成cglib子类。有了实例对象,使用inject方法将bean属性诸如,利用
反射set注入。
网友评论