context:component-scan使用说明

   在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean

注意:如果配置了<context:component-scan>那么<context:annotation-config/>标签就可以不用再xml中配置了,因为前者包含了后者。另外<context:component-scan>还提供了两个子标签

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>指定的扫描

 

已标记关键词 清除标记
相关推荐
<p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"><strong style="word-break: break-all;">本课程为Django第六季课程:</strong>后台管理的项目实战, 本项目主要实现基本的学生管理,包含的主要知识点有:virtualenv虚拟环境、pip下载包、多app项目开发、templates模板的继承、font-awesome图标的使用、原生SQL语句和数据库交互、ORM模型和数据库交互、LayUI页面布局、jQuery实现用户交互、Ajax的异步请求、页面的块状展示数据、表格展示数据、表格的分页、数据的增改删改、Layer弹出层使用、表单的验证等等知识点。</p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;">本案例完整的演示了项目实现过程,虽然不复杂,但涉及的内容非常多,特别是前后端交互的时候,有诸多的坑等着你去踩,好在王老师全程代码呈现,带着大家一起填坑,大大提高学习效率的同时,也培养了大家良好的代码习惯,希望大家一致跟着王老师学习Python开发。</p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"><span style="word-break: break-all;"><span style="word-break: break-all; color: #ff0000;"><strong style="word-break: break-all;">课程目标:</strong></span><br style="word-break: break-all;" /><span style="word-break: break-all;">本系列课程是从零基础开始并深入讲解Django,最终学会使用Django框架开发企业级的项目。课程知识点详细,项目实战贴近企业需求。本系列课程除了非常详细的讲解Django框架本身的知识点以外,还讲解了web开发中所需要用到的技术,学完本系列课程后,您将独立做出一个具有后台管理系统,并且前端非常优美实用的网站。对于从事一份Python Web开发相关的工作简直轻而易举。</span></span></p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"><span style="word-break: break-all;"><span style="word-break: break-all;"><img src="https://img-bss.csdnimg.cn/202102061554519299.png" alt="" /></span></span></p>
<p><span style="font-size: 24px; background-color: #e53333; color: #ffffff;"><strong>课程目标</strong></span></p> <p> </p> <p><span style="font-size: 18px;">从零开始掌握Premiere影视剪辑的基础知识,学会</span><span style="font-size: 18px; color: #e53333;"><span style="color: #e53333;"><strong>视频剪辑+影视特效+视频调色+字幕制作</strong></span></span></p> <p> </p> <p><span style="font-size: 24px; background-color: #e53333; color: #ffffff;">适用人群</span></p> <p> </p> <p><span style="font-size: 18px;">PR零基础小白,在校大学生,职场新人,想成为影视剪辑、影视后期、短视频制作、自媒体等高手的朋友。</span></p> <p> </p> <p><span style="font-size: 24px; background-color: #e53333; color: #ffffff;">课程简介</span></p> <p> </p> <p><span style="font-size: 18px;">课程以新版PR 2020讲解,可使用PR任意版本学习,绝大多数功能兼容旧版,但强烈建议使用新版本。</span></p> <p><span style="font-size: 18px;">【Adobe认证专家讲师精耕细作精品教程,非学院派照本宣科软件操作教程,以任务为导向,面向实际应用场景,每一章都能学会实打实的高手技能,讲解细致,小白也能轻松入门成大神!】</span></p> <p><span style="font-size: 18px;">课程好不好,看过就知道,前面的免费章节欢迎试看。</span></p> <p><span style="font-size: 18px;">本课程学习不需要任何PR基础,只需要电脑操作基础即可。兼容Windows和Mac操作系统,同时讲解两种系统下的快捷键操作,不用担心操作上的障碍问题。</span></p> <p> </p> <p><span style="font-size: 24px; background-color: #e53333; color: #ffffff;">课程特色</span></p> <p> </p> <p><span style="font-size: 18px;">1、以实际PR影视编辑与特效的流程为导向,绝大多数内容都是为了完成某个具体任务,而不是为了讲解某个软件操作而凑数。</span></p> <p><span style="font-size: 18px;">2、不同于国内多数教程和书籍,每个知识点务求讲精、讲透,帮助你掌握PR的精髓,而非软件操作上的皮毛,让你真正学到PR的本质,一次学习,终身受用,少走弯路,节约生命。</span></p> <p><span style="font-size: 18px;">3、课程会随PR新版本的推出持续更新,不必担心有新功能却不知道怎么用。</span></p> <p><span style="font-size: 18px;">4、充足的练习题和作业题,让你在不断的练习和挑战中提升PR技能。</span></p> <div> <p> </p> <p><img src="https://img-bss.csdnimg.cn/202009230003497469.png" alt="" width="880" height="2635" /><img src="https://img-bss.csdnimg.cn/202009230004006917.png" alt="" width="880" height="2635" /><img src="https://img-bss.csdnimg.cn/202009230004102289.png" alt="" width="880" height="2635" /><img src="https://img-bss.csdnimg.cn/202009230004197845.png" alt="" width="880" height="1445" /></p> </div>
<p> 需要学习Windows系统YOLOv4的同学请前往《Windows版YOLOv4目标检测实战:原理与源码解析》, </p> <p> 课程链接 https://edu.csdn.net/course/detail/29865 </p> <h3> <span style="color:#3598db;">【为什么要学习这门课】</span> </h3> <p> <span>Linux</span>创始人<span>Linus Torvalds</span>有一句名言:<span>Talk is cheap. Show me the code. </span><strong><span style="color:#ba372a;">冗谈不够,放码过来!</span></strong> </p> <p> <span> </span>代码阅读是从基础到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。 </p> <p> YOLOv4是最近推出的基于深度学习的端到端实时目标检测方法。 </p> <p> YOLOv4的实现darknet是使用C语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。 </p> <h3> <span style="color:#3598db;">【课程内容与收获】</span> </h3> <p> 本课程将解析YOLOv4的实现原理和源码,具体内容包括: </p> <p> - YOLOv4目标检测原理<br /> - 神经网络及darknet的C语言实现,尤其是反向传播的梯度求解和误差计算<br /> - 代码阅读工具及方法<br /> - 深度学习计算的利器:BLAS和GEMM<br /> - GPU的CUDA编程方法及在darknet的应用<br /> - YOLOv4的程序流程 </p> <p> - YOLOv4各层及关键技术的源码解析 </p> <p> 本课程将提供注释后的darknet的源码程序文件。 </p> <h3> <strong><span style="color:#3598db;">【相关课程】</span></strong> </h3> <p> 除本课程《YOLOv4目标检测:原理与源码解析》外,本人推出了有关YOLOv4目标检测的系列课程,包括: </p> <p> 《YOLOv4目标检测实战:训练自己的数据集》 </p> <p> 《YOLOv4-tiny目标检测实战:训练自己的数据集》 </p> <p> 《YOLOv4目标检测实战:人脸口罩佩戴检测》<br /> 《YOLOv4目标检测实战:中国交通标志识别》 </p> <p> 建议先学习一门YOLOv4实战课程,对YOLOv4的使用方法了解以后再学习本课程。 </p> <h3> <span style="color:#3598db;">【YOLOv4网络模型架构图】</span> </h3> <p> 下图由白勇老师绘制 </p> <p> <img alt="" src="https://img-bss.csdnimg.cn/202006291526195469.jpg" /> </p> <p>   </p> <p> <img alt="" src="https://img-bss.csdnimg.cn/202007011518185782.jpg" /> </p>
<p> <span style="font-size:18px;color:#E53333;"><strong><span style="color:#000000;">课程演示环境:Ubuntu</span><br /> <br /> <span style="color:#000000;">需要学习Windows系统YOLOv4的同学请前往《Windows版YOLOv4目标检测实战:训练自己的数据集》,课程链接https://edu.csdn.net/course/detail/28748</span><br /> <br /> YOLOv4</strong></span><span style="font-size:18px;color:#E53333;"><strong>来了!速度和精度双提升!</strong></span> </p> <p> <span style="font-size:16px;"> </span> </p> <p> <span style="font-size:16px;">与</span><span style="font-size:16px;"> YOLOv3 </span><span style="font-size:16px;">相比,新版本的</span><span style="font-size:16px;"> AP(精度) </span><span style="font-size:16px;">和</span><span style="font-size:16px;"> FPS </span><span style="font-size:16px;">(每秒帧率)分别提高了</span><span style="font-size:16px;"> 10% </span><span style="font-size:16px;">和</span><span style="font-size:16px;"> 12%</span><span style="font-size:16px;">。</span><span></span> </p> <p> <span style="font-size:16px;"> </span> </p> <p> <span style="font-size:16px;">YOLO系列是基于深度学习的端到端实时目标检测方法。本课程将手把手地教大家使用</span><span style="font-size:16px;">labelImg</span><span style="font-size:16px;">标注和使用</span><span style="font-size:16px;">YOLOv4</span><span style="font-size:16px;">训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。</span><span></span> </p> <p> <span style="font-size:16px;"> </span> </p> <p> <span style="font-size:16px;">本课程的</span><span style="font-size:16px;">YOLOv4</span><span style="font-size:16px;">使用</span><span style="font-size:16px;">AlexAB/darknet</span><span style="font-size:16px;">,在</span><span style="font-size:16px;">Ubuntu</span><span style="font-size:16px;">系统上做项目演示。包括:安装</span><span style="font-size:16px;">YOLOv4、</span><span style="font-size:16px;">标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计</span><span style="font-size:16px;">(mAP</span><span style="font-size:16px;">计算和画出</span><span style="font-size:16px;">PR</span><span style="font-size:16px;">曲线</span><span style="font-size:16px;">)</span><span style="font-size:16px;">和先验框聚类分析。还将介绍改善</span><span style="font-size:16px;">YOLOv4</span><span style="font-size:16px;">目标训练性能的技巧。</span><span></span> </p> <p> <span style="font-size:16px;"> </span> </p> <p> <span style="font-size:16px;">除本课程《</span><span style="font-size:16px;">YOLOv4</span><span style="font-size:16px;">目标检测实战:训练自己的数据集》外,本人将推出有关</span><span style="font-size:16px;">YOLOv4</span><span style="font-size:16px;">目标检测的系列课程。请持续关注该系列的其它视频课程,包括:</span><span></span> </p> <p> <span style="font-size:16px;">《</span><span style="font-size:16px;">YOLOv4</span><span style="font-size:16px;">目标检测实战:人脸口罩佩戴识别》</span><br /> <span style="font-size:16px;">《</span><span style="font-size:16px;">YOLOv4</span><span style="font-size:16px;">目标检测实战:中国交通标志识别》</span><br /> <span style="font-size:16px;">《</span><span style="font-size:16px;">YOLOv4</span><span style="font-size:16px;">目标检测:原理与源码解析》</span> </p> <p> <br /> </p> <p> <span style="font-size:16px;"><br /> </span> </p> <p> <span style="font-size:16px;"><img src="https://img-bss.csdn.net/202004260858382698.jpg" alt="" /><br /> </span> </p> <p> <span style="font-size:16px;"><br /> </span> </p> <p> <span style="font-size:16px;"><img src="https://img-bss.csdn.net/202004260858535136.jpg" alt="" /><br /> </span> </p> <p> <span style="font-size:16px;"><img src="https://img-bss.csdn.net/202004260859074920.jpg" alt="" /><br /> </span> </p> <p> <span></span> </p> <p> <span></span> </p>
<p class="MsoNormal"> <span style="font-family:'微软雅黑',sans-serif;">YOLO</span><span style="font-family:'微软雅黑',sans-serif;">系列是基于深度学习的端到端实时目标检测方法。 <span>PyTorch</span>版的<span>YOLOv5</span>轻量而性能高,更加灵活和便利。</span><span style="font-family:微软雅黑, sans-serif;"> </span> </p> <p class="MsoNormal"> <span style="font-family:'微软雅黑',sans-serif;">本课程将手把手地教大家使用<span>labelImg</span>标注和使用<span>YOLOv5</span>训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。</span><span style="font-family:微软雅黑, sans-serif;"> </span> </p> <p class="MsoNormal"> <span style="font-family:'微软雅黑',sans-serif;">本课程的<span>YOLOv5</span>使用<span>ultralytics/yolov5</span>,在<span style="color:#e03e2d;"><strong><span>Windows</span></strong></span>系统上做项目演示。包括:安装<span>YOLOv5</span>、标注自己的数据集、准备自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型和性能统计。</span><span style="font-family:微软雅黑, sans-serif;"> </span> </p> <p class="MsoNormal"> <span style="font-family:微软雅黑, sans-serif;">希望学习Ubuntu上演示的同学,请前往 </span><span style="font-family:微软雅黑, sans-serif;">《</span><span style="font-family:微软雅黑, sans-serif;">YOLOv5(PyTorch)</span><span style="font-family:微软雅黑, sans-serif;">实战:训练自己的数据集(Ubuntu)》课程链接:https://edu.csdn.net/course/detail/30793</span><span style="font-family:宋体;"><span style="font-size:14px;"> </span></span> </p> <p style="margin-left:0cm;">   </p> <p style="margin-left:0cm;"> 本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括: </p> <p> 《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》 </p> <p> Ubuntu系统 <strong><a href="https://edu.csdn.net/course/detail/30793"><span style="color:#7c79e5;">https://edu.csdn.net/course/detail/30793</span></a></strong> </p> <p> Windows系统 <strong><a href="https://edu.csdn.net/course/detail/30923"><span style="color:#7c79e5;">https://edu.csdn.net/course/detail/30923</span></a></strong> </p> <p> 《YOLOv5(PyTorch)目标检测:原理与源码解析》<strong><a href="https://edu.csdn.net/course/detail/31428"><span style="color:#7c79e5;">https://edu.csdn.net/course/detail/31428</span></a></strong> </p> <p> 《YOLOv5(PyTorch)目标检测实战:Flask Web部署》<strong><a href="https://edu.csdn.net/course/detail/31087"><span style="color:#7c79e5;">https://edu.csdn.net/course/detail/31087</span></a></strong> </p> <p> 《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》<strong><a href="https://edu.csdn.net/course/detail/32303"><span style="color:#7c79e5;">https://edu.csdn.net/course/detail/32303</span></a></strong> </p> <p> <img src="https://img-bss.csdnimg.cn/202010090636458614.jpg" alt="课程内容" width="880" height="356" /> </p> <p> <img src="https://img-bss.csdnimg.cn/202010090637068681.jpg" alt="技巧" width="880" height="706" /> </p> <p> <img src="https://img-bss.csdnimg.cn/202010090637267536.jpg" alt="功能" width="880" height="913" /> </p>
<p> <img src="https://img-bss.csdn.net/201909231423115500.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909231423337403.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909231423434581.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909231424065321.png" alt="" /><img src="https://img-bss.csdn.net/201909231424244483.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <div style="color:#444444;"> 适用人群 <p style="color:#666666;"> Java开发人员,Vue开发人员,前后端分离开发人员,权限管理和配置开发人员 </p> </div> <div style="color:#444444;"> 课程概述 <div style="color:#666666;"> 【讲师介绍】<br />       现某知名大型互联网公司资深架构师,技术总监,职业规划师,首席面试官,曾在某上市培训机构,高校任教多年。<br />      Array(Array老师)10多年互联网公司实战经验,知名的大型互联网公司的架构师,高管等职,在企业长期从事于技术的源码阅读和新技术的研究;擅长于职业规划,面试辅导,从事面试官多年 <br /> 技术选型<br /> 开发环境:Eclipse/Idea ,JDK 1.8以上 <br /> 后端技术<br /> 核心框架:SpringBoot2.x框架系列(同样适用Springcloud F版本以后的版本),如下(节选):    <br /> 持久层框架:MyBatis 3.x + Mybatis-plus 3.x<br /> 日志管理:SLF4J 1.7 + Log4j2 2.7<br /> 工具类:Apache Commons、Jackson 、fastjson、Gson<br /> 权限验证<br /> 前端技术  <br /> Vue  <br /> Vue-cli<br /> ElementUI ---https://element.eleme.io/<br /> JSX (JavaScript Xml)<br /> 前台的权限验证和路由设置<br /> 开发模式  <br />      前后端分离的开发<br /> 数据库 <br />       Mysql5<br /> IDE<br />     Intellij Idea<br /> 【课程收益】<br /> 学完课程能独立完成springboot2+vue+elementUI的整合项目开发(前后端分离) <br /> 学完课程能Shiro的权限控制,按钮级别的权限控制 <br /> 学完课程能独立后端开发和独立前端开发Vue <br /> 学完课程能快速的掌握目前互联网用的前沿的框架和技术实战 </div> </div>
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值