ContextLoaderListener监听器
(1)ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。
(2)在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成。看看它的API说明。
第一段说明ContextLoader可以由 ContextLoaderListener和ContextLoaderServlet生成。如果查看ContextLoaderServlet的API,可以看到它也关联了ContextLoader这个类而且它实现了HttpServlet这个接口。
第二段,ContextLoader创建的是 XmlWebApplicationContext这样一个类,它实现的接口是WebApplicationContext->ConfigurableWebApplicationContext->ApplicationContext->BeanFactory,这样一来spring中的所有bean都由这个类来创建。
第三段,讲如何部署applicationContext的xml文件。
如果在web.xml中不写任何参数配置信息,默认的路径是/WEB-INF/applicationContext.xml,在WEB-INF目录下创建的xml文件的名称必须是applicationContext.xml;
如果是要自定义文件名可以在web.xml里加入contextConfigLocation这个context参数:
/WEB-INF/classes/applicationContext-*.xml
在
同构是在数学对象之间定义
同构是在数学对象之间定义的一类映射,它能揭示出在这些对象的属性或者操作之间存在的关系。若两个数学结构之间存在同构映射,那么这两个结构叫做“是同构的”。一般来说,如果忽略同构对象的属性或操作的具体定义,单从结构上讲,同构的对象是完全等价的。
假设M,M′是两个乘集,也就是说M和M′是两个各具有一个闭合的结合法(一般写成乘法)的代数系,σ是M射到M′的双射,并且任意两个元的乘积的像是这两个元的像的乘积,即对于M中任意两个元a,b满足σ(a·b)=σ(a)·σ(b);也就是说,当a→σ(a),b→σ(b)时,a·b→σ(a)·σ(b);那么这映射σ就叫做M到M′上的同构。又称M与M′同构,记作M~M′。