洞察探索open banking如何通过小程序容器技术助力金融企业实现数据安全和数字化转型
1091
2022-12-04
基于springMVC web.xml中的配置加载顺序
目录springMVC web.xml中的配置加载顺序1、Spring上下文环境的配置文件2、SpringMVC配置文件加载顺序是web.xml加载顺序及Spring包扫描注意1、web.xml文件中配置文件加载顺序2、SpringMVC配置事务管理时
springMVC web.xml中的配置加载顺序
在这里就不详细说web.xml的文件中的具体配置,就简单说明一下其中配置信息的加载顺序:
在web.xml文件中元素的加载顺序与它们在 web.xml 文件中的先后顺序无关。
加载的顺序是:context-param->listener -> filter -> servlet ,其中context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息。我们的 listener, filter 等在初始化时会用到这些上下文中的信息,然而对于某些配置节而言,它们出现的顺序是有先后关联的。
这里在补充一下在配置中遇到的一下问题以及解决方式:
在web.xml中定义的spring的配置文件一般有两个
1、Spring上下文环境的配置文件
applicationContext.xml
classpath:applicationContext.xml
2、SpringMVC配置文件
spring-servlet.xml
DMyeud
加载顺序是
首先加载Spring上下文环境配置文件,然后加载SpringMVC配置文件,并且如果配置了相同的内容,SpringMVC配置文件会被优先使用。 所以这里需要注意一个问题,一定要注意SpringMVC配置文件内容不要把Spring上下文环境配置文件内容覆盖掉。
比如在Spring上下文环境配置文件中先引入service层,然后又加入了事务:
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
但是在SpringMVC配置文件中却默认引入所有类(当然也包括service层),但是没有加入事务
那么这时事务功能是无法起作用的,也就是代码中加入@Transactional注解是无效的。所以为了防止这种问题一般是在Spring上下文配置文件中引入所有的类,并且加上事务:
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
而在SpringMVC配置文件中只引入controller层:
web.xml加载顺序及Spring包扫描注意
1、web.xml文件中配置文件加载顺序
web.xml文件中,我们一般会配置一些工程启动时需加载的配置文件.比如:SpringMVC工程开发时,
我们一般是会有两个xml的配置文件。一个上下文配置文件applicationContext.xml,另一个就是springMVC的配置文件servlet-context.xml文件.
加载顺序:
1. 服务器启动时,首先会找web.xml文件,加载web.xml文件中配置文件;
2.找到 web.xml后,首先加载上下文配置文件;也就是
3.加载-;
4.加载过滤器;
5.加载Servlet;
2、SpringMVC配置事务管理时
@Service,@Controller包文件扫描时配置注意事项:
1. 当我们在applicationContext.xml中添加了Spring的事务配置,而在servlet-context.xml中添加扫描@service包路径
2. 当在applicationContext.xml文件中添加了扫描Service包的路径
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~