context:component-scan标签的诠释
XML中配置context:component-scan时,spring会自动的扫描这个包下被这些注解标识的类@Component,@Service,@Controller,@Repository,同时自动注册为bean
同时context:component-scan包含了context:annotation-config的属性开关功能
具体的属性注册四个BeanPostProcessor:
AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、
PersistenceAnnotationBeanPostProcessor 、RequiredAnnotationBeanPostProcessor。
AutowiredAnnotationBeanPostProcessor的注册对应使用@Autowired注解,
CommonAnnotationBeanPostProcessor注册对应使用@ Resource 、@ PostConstruct、@ PreDestroy注解,
PersistenceAnnotationBeanPostProcessor 注册对应使用@PersistenceContext注解,
RequiredAnnotationBeanPostProcessor注册对应使用@Required注解。
由于我们一般使用context:component-scan(包含自动注入上方的四个BeanPostProcessor)功能的注解包的扫描,context:annotation-config的存在基本可以忽略了
context:component-scan的子标签包含了
<context:exclude-filter type="" expression=""/>
<context:include-filter type="" expression=""/>
context:exclude-filter:告知哪些类或者接口不需要被扫描
context:include-filter:告知哪些类或者接口需要被扫描,并注册成bean类
想到再补充吧
context:component-scan标签的诠释的更多相关文章
- [Spring Boot] Use Component Scan to scan for Bean
Component Scan is important concept when we want to create Bean. Currently we know what, for the cla ...
- Spring 配置 Annotation <context:annotation-config> 和 <context:component-scan>标签的诠释及区别
Spring 开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别 <cont ...
- Django Context对象 + 过滤器 + 标签
玩一玩上下文(context)对象 多数时间,你可以通过传递一个完全填充(full populated)的字典给 Context() 来初始化 上下文(Context) . 但是初始化以后,你也可以从 ...
- <context:component-scan>子标签:<context:include-filter>和<context:exclude-filter>使用时要注意的地方
在Spring MVC中的配置中一般会遇到这两个标签,作为<context:component-scan>的子标签出现. 但在使用时要注意一下几点: 1.在很多配置中一般都会吧Spring ...
- 没有找到<context:component-scan base-package="">标签
<?xml version="1.0" encoding="UTF-8"?> <!-- 指定Spring配置文件的Schema信息 --> ...
- Spring源码系列 — BeanDefinition扩展点
前言 前文介绍了Spring Bean的生命周期,也算是XML IOC系列的完结.但是Spring的博大精深,还有很多盲点需要摸索.整合前面的系列文章,从Resource到BeanDefinition ...
- spring boot2.0
1. Spring boot 简介 1.1 spring boot的三大特性 组件自动装配:Web mvc, Web Flux,JDBC等 激活:@EnableAutoConfiguration 配置 ...
- RESTful Demo
Demo 功能 两个模块, App 与 Admin, App 模块提供增加用户(/add?name=${name})与查询用户(/query/${id}), Admin 模块提供列出所有用户(/lis ...
- SpringMVC_01:创建运行环境(Maven)
Maven 环境下配置: 1.新建MavenProject,打包选线根据情况选择jar war和pom jar:打包为jar包,主要用于被其他项目引用 war:打包为war包,可直接运行于服务器 po ...
随机推荐
- flex布局简单兼容性写法
/* 定义 */ .flex-def { display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit brow ...
- C# 高级面试题
很少会有人可以答对,如果你遇到一个来面试的人实在嚣张,就可以用本文的题去打击 本文内容就看着玩,请不要在严肃的面试中问题这样的题目 如果面试到一个人可以回答出下面的题目也不能证明他的技术很强,只能说明 ...
- JavaScript 面向对象的拖拽
一.body <div id="box"></div> 二.css <style> #box { position: abaolute; top ...
- Linux 内核usb_bulk_msg 接口
usb_bulk_msg 创建一个 USB 块 urb 并且发送它到特定的设备, 接着在返回到调用者之 前等待完成. 它定义为: int usb_bulk_msg(struct usb_device ...
- koa2--06.koa-static中间件的使用
koa-static中间件,主要用于设置静态文件资源的文件路径 首先安装koa-static中间,以下是代码示例 const koa = require('koa'); var router = re ...
- slim中的请求头
请求头 每个 HTTP 请求都有请求头.这些元数据描述了 HTTP 请求,但在请求体中不可见.Slim 的 PSR 7 请求对象提供了几个检查请求头的方法. 获取所有的请求头,返回一个数组:getHe ...
- Iterator接口介绍(迭代器)
第一步 第二步 第二步用while 第二步用for循环(了解) 备注:
- $HDU1848\ Fibonacci\ again\ and\ again$ 博弈论
正解:博弈论 解题报告: 传送门! 首先按照套路显然是考虑先预处理出所有数的$SG$函数值然后全局的$SG$就是$SG(n)$^$SG(m)$^$SG(p)$,这儿应该麻油问题$QwQ$? 然后就考虑 ...
- 15 道 Spring Boot 高频面试题,看完直接当面霸【入门实用】
前言 本文转自松哥(网名:江南一点雨)的一篇实用入门文章,写的挺好的,希望对各位有所帮助. 什么是面霸?就是在面试中,神挡杀神佛挡杀佛,见招拆招,面到面试官自惭形秽自叹不如!松哥希望本文能成为你面霸路 ...
- 1058 选择题 (20 分)C语言
批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100),分别是学生人数和多选题的个 ...