假设我已经使用以下配置创建了一个spring应用程序
def getById(id: UUID): Future[Option[Student]] = {
select.where(_.id eqs id).one()
}
Spring将查找springweb-servlet.xml文件。然后它将从文件中读取所有bean的分歧并创建bean对象 这里只创建了单个应用程序上下文。
<servlet>
<servlet-name>springweb</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springweb</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
这里,第一个spring从service-context.xml文件读取所有bean definations,这是根spring上下文。 然后它从springweb-servlet.xml文件中读取所有bean定义,该文件是子spring上下文/ WebApplicationContext。 然后所有将两个父子上下文合并为一个并创建spring bean对象
如果我在两个地方都定义了springweb-servlet.xml文件该怎么办。
<servlet>
<servlet-name>springweb</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springweb</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/service-context.xml
</param-value>
</context-param>