分析搭建SSM时在spring_mvc.xml文件中只扫描mvc的包


前言

分析搭建SSM框架时的包扫描问题


一、问题

在搭建SSM框架,配置xml文件时,在spring_mvc.xml中只扫描了mvc的包
在这里插入图片描述
在spring_config.xml中扫描service的包
在这里插入图片描述


二、原因

2.1分析

在web服务器启动时,spring_mvc.xml会先于spring_config.xml启动若整个工程包先被扫描,则service将先于事务启动,那么事务将会无法注入管理,故在spring_mvc.xml只能只扫描mvc的包,而在spring_config.xml中只能扫描service的包。

只在spring.config.xml中扫描所有包,mvc将无法请求对应的controller;
在spring_mvc.xml中扫描了controller的扫描,在spring_config.xml中扫描所有包,controller会被创建两次;


2.2验证

是否被spring IOC管理
可以在调用批量增、删、改的时通过后台打印查看有没有管理的提示:
JDBC Connection [com.mysql.jdbc.JDBC4Connection@7103e78b] will not be managed by Spring
并且每操作一次数据库,都会创建一个新的session,所以当某一条数据出错时,不会回滚。
若纳入管理的提示是:
JDBC Connection [com.mysql.jdbc.JDBC4Connection@29fd1532] will be managed by Spring
并且每次操作不会创建新的session,所以当某一条数据出错时,会回滚所有提交内容。

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值