在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean注意:如果配置了<context:component-scan>那么<context:annotation-config/>标签就可以不用再xml中配置了,因为前者包含了后者。另外<context:annotation-config/>还提供了两个子标签1.        <context:include-filter>2.       <context:exclude-filter>在说明这两个子标签前,先说一下<context:component-scan>有一个use-default-filters属性,改属性默认为true,这就意味着会扫描指定包下的全部的标有@Component的类,并注册成bean.也就是@Component的子注解@Service,@Reposity等。所以如果仅仅是在配置文件中这么写<context:component-scan base-package="tv.huan.weisp.web"/> Use-default-filter此时为true那么会对base-package包或者子包下的所有的进行java类进行扫描,并把匹配的java类注册成bean。 可以发现这种扫描的粒度有点太大,如果你只想扫描指定包下面的Controller,该怎么办?此时子标签<context:incluce-filter>就起到了勇武之地。如下所示<context:component-scan base-package="tv.huan.weisp.web .controller"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan>这样就会只扫描base-package指定下的有@Controller下的java类,并注册成bean但是因为use-dafault-filter在上面并没有指定,默认就为true,所以当把上面的配置改成如下所示的时候,就会产生与你期望相悖的结果(注意base-package包值得变化)<context:component-scan base-package="tv.huan.weisp.web "><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan>此时,spring不仅扫描了@Controller,还扫描了指定包所在的子包service包下注解@Service的java类此时指定的include-filter没有起到作用,只要把use-default-filter设置成false就可以了。这样就可以避免在base-packeage配置多个包名这种不是很优雅的方法来解决这个问题了。另外在我参与的项目中可以发现在base-package指定的包中有的子包是不含有注解了,所以不用扫描,此时可以指定<context:exclude-filter>来进行过滤,说明此包不需要被扫描。综合以上说明Use-dafault-filters=”false”的情况下:<context:exclude-filter>指定的不扫描,<context:include-filter>指定的扫描

转载于:https://www.cnblogs.com/Eddyer/p/5132594.html

mvc:annotation-driven /相关推荐

  1. javaweb-青橙项目-1-76

    文章目录 1.项目预计 1.1小项目特点 1.2大项目特点 1.3 主要电商模式 2. 青橙-需求分析与系统设计 2.1 需求分析 2.2 系统设计 2.2.1 数据库分库设计 2.2.3 系统架构图 ...

  2. Spring 一二事(8) - annotation 形式的 MVC

    1 <!-- 2 component:把一个类放入到spring容器中,该类就是一个component 3 在base-package指定的包及子包下扫描所有的类 4 --> 5 < ...

  3. Domain Driven Design and Development In Practice--转载

    原文地址:http://www.infoq.com/articles/ddd-in-practice Background Domain Driven Design (DDD) is about ma ...

  4. Spring MVC 框架搭建及详解

    现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过 ...

  5. Spring MVC ajax:post/get 的具体实现

    Post 方式 1.自动注入 a. pom.xml ---- 配置Maven,添加必要的jar包 1 <!--用于 String-JSONObject 转换 --> 2 <depen ...

  6. Spring MVC 解决日期类型动态绑定问题

    出处:http://www.cnblogs.com/crazy-fox/archive/2012/02/18/2357699.html ean 名为User,则在相同的包中存在UserEditor类可 ...

  7. spring mvc 总结

    为什么80%的码农都做不了架构师?>>>    一.前言: 大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 ...

  8. Spring MVC与JAX-RS比较与分析

    http://www.infoq.com/cn/articles/springmvc_jsx-rs 过去几年,REST逐渐成为影响Web框架.Web协议与Web应用设计的重要概念.如果你还不了解RES ...

  9. Spring MVC 单元调试和访问

    为什么80%的码农都做不了架构师?>>>    如何给spring3 MVC中的Action做JUnit单元测试? 整理自:http://www.cnblogs.com/weipen ...

  10. spring MVC之返回JSON数据(Spring3.0 MVC+Jackson+AJAX)

    参考: http://angelbill3.iteye.com/blog/1985075 问题:在进行springmvc返回json数据的时候报如下错误:用上面的controller,访问:http: ...

最新文章

  1. 2012 依赖注入框架
  2. centos8下搭建gotk3(go语言gtk库) x86_64-w64-mingw32交叉编译环境
  3. 花滑三周连跳_花滑女单短节目惊现三周半跳 称就像做梦一样
  4. adb命令启动某个action_Android adb shell启动应用程序的方法
  5. RadComboBox的用法
  6. 解决mysql中文乱码问题。
  7. 【工具】VirtualBox装VBoxGuestAdditions增强工具失败解决方法和共享文件夹设置
  8. java项目 ppt,Java项目报告ppt
  9. 记:应聘招银网络科技 测试开发工程师
  10. 事件查看器mysql_Windows 事件查看器(Event Viewer) 检查日志的方法
  11. 绝密计划:我在阿里打黑工
  12. 2020李宏毅学习笔记——16.Recurrent Netural Network 下
  13. Unity 日志输出
  14. 这图怎么画| 相关性热图+柱状图
  15. MikTex+texworks插入数学公式示例
  16. 2022-2028年全球与中国高级计算机断层扫描仪行业发展趋势及投资战略分析
  17. yolanda的性能测试经验
  18. AAAI 2022主题论文推荐——Semantic Segmentation
  19. 最新导则下:基于遥感解译与GIS技术环境影响评价图件制作实践应用
  20. jdk1.8api+google翻译下载

热门文章

  1. L2-004 这是二叉搜索树吗?(二叉树)
  2. java bit mask_位掩码(Bit Mask)的应用
  3. 计算机硬件组装教学设计教案,计算机硬件的组装教学设计
  4. Docker部署项目的步骤,按步骤一步一步来,一切都会成功
  5. [Hive]Hive合并小文件
  6. [NLP]OpenNLP块检测器(Chunker)的使用
  7. Spring4 快速入门
  8. JavaScript 模块化简述
  9. 习题3-6 纵横字谜的答案(Crossword Answers, ACM/ICPC World Finals 1994, UVa232)
  10. PHPExcel导出文件