在学习SSM框架配置文件时,注入使用< bean >标签还是< context:component-scan > 扫描

为什么扫描mapper包的时候使用< bean >标签而不是用< context:component-scan > 扫描

<!-- 扫描mapper -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <!-- 扫描mapper包 -->
    <property name="basePackage" value="com.crm.settings.mapper"/>
</bean>

而controller类使用< context:component-scan > 扫描而不使用< bean >标签

<!-- 设置表示层包扫描器 -->
<context:component-scan base-package="com.mimissm.controller"></context:component-scan>

        实际@Component也是使用注解@Bean装配进Spring IOC里。标签< context:component-scan > 扫描前提是类上方有注解@Component,一个实体类的使用注解@Component时候会把类里面的方法自动装配注解@Bean,而注解@Bean实际也是自动帮我们书写< bean >标签,减少在xml文件写< bean >语句次数。但是@Component需要在类的上方写注解@Component才能被xml里的标签< context:component-scan >扫描到。

        如果没有加@Component,里面的方法无法进行自动装配Bean注解,无法被装配进Spring里面。故这也是mapper包的实体类xml文件无法使用< context:component-scan > 扫描原因,因为xml文件中不能使用@Component注解,故只能手动装配进Bean里。

        在无法修改代码的情况下,想要被spring管理就只能通过自己手写< bean >语句进行注入spring框架内。

以上是我个人查阅了各种帖子,根据自己理解所写。

如果有不足或错误的地方,希望可以指出来,大家一起学习。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值