[转载]Spring配置文件详解一:

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

原文地址:Spring配置文件详解一:<context:annotation-config/>与<context:component-scan base-package="com.xx 作者:爱情随遇而安
  • <context:annotation-config/>
    在基于主机方式配置Spring时,Spring配置文件applicationContext.xml,你可能会见 <context:annotation-config/>这样一条配置,它的作用是 隐式的向Spring容器注册
                           AutowiredAnnotationBeanPostProcessor,
                           CommonAnnotationBeanPostProcessor,
                           PersistenceAnnotationBeanPostProcessor,
                           RequiredAnnotationBeanPostProcessor 
 这4个BeanPostProcessor.注册这4个bean处理器主要的作用是为了你的系统能够识别相应的注解。                        
 例如:
  1.  如果想使用@Autowired注解,需要在Spring容器中声明AutowiredAnnotationBeanPostProcessor Bean。传统的声明方式:<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
  2. 如果想使用@PersistenceContext注解,需要在Spring容器中声明PersistenceAnnotationBeanPostProcessor Bean。传统的声明:<bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/>
  3. 如果想使用@Required注解,需要在Spring容器中声明RequiredAnnotationBeanPostProcessor Bean。传统声明方式: <bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/>
  4. 如果想使用@Resource、@ PostConstruct、@ PreDestroy等注解就必须声明CommonAnnotationBeanPostProcessor。传统申明方式: <bean class="org.springframework.beans.factory.annotation.CommonAnnotationBeanPostProcessor"/>
所以,如果按照传统声明一条一条去声明注解Bean,就会显得十分繁琐。
因此如果在Spring的配置文件中事先加上
<context:annotation-config/>这样一条配置的话,那么所有注解的传统声明就可以被  忽略,即不用在写传统的声明,Spring会自动完成声明。

  • <context:component-scan base-package="com.xx" /> 

    <context:component-scan/> 的作用是让Bean定义注解工作起来,也就是上述传统声明方式。 它的base-package属性指定了需要扫描的类包,类包及其递归子包中所有的类都会被处理。

     值得注意的是 <context:component-scan/>不但启用了对类包进行扫描以实施注释驱动 Bean 定义的功能,同时还启用了注释驱动自动注入的功能(即还隐式地在内部注册了 AutowiredAnnotationBeanPostProcessor 和  CommonAnnotationBeanPostProcessor),因此当使用 <context:component-scan/> 后,就可以将 <context:annotation-config/> 移除了。
 
@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。@Autowired的标注位置不同,它们都会在Spring在初始化这个bean时,自动装配这个属性。注解之后就不需要set/get方法了。

转载于:https://my.oschina.net/haokevin/blog/1555815

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 8.0.16修改root密码_mysql 8.0.16 winx64及Linux修改root用户密码 的方法

连接数据库等基础操作请自行解决哈&#xff0c;本篇是重点记录如何改密码。一、查询用户密码:查询用户密码命令&#xff1a;select host, user, authentication_string from mysql.user ;host&#xff1a;允许用户登录的ip‘位置%表示可以远程&#xff1b;user&#xff1a;当前…

舞台设计

舞台设计 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<cstdio> #include<queue> using namespace std;int ucol[1005],dcol[1005],lrow[1005],rrow[1005]; int numr[1005],numc[1005]; int a[100…

LoadRunner11支持的浏览器小结

LoadRunner11支持的浏览器小结转载于:https://www.cnblogs.com/zwh-Seeking/articles/11060154.html

手机计算机的隐藏小技巧,涨知识!MIUI计算器原来有这么多隐藏小技巧,最后一个绝对想不到...

原标题&#xff1a;涨知识&#xff01;MIUI计算器原来有这么多隐藏小技巧&#xff0c;最后一个绝对想不到计算器除了我们需要进行日常的计算以外&#xff0c;几乎是用不到的。但是MIUI中的计算器与普通计算器可不同&#xff0c;里面的隐藏小技巧足以让你震惊到&#xff0c;那么…

如何使用JavaScript中的工厂函数构建可靠的对象

Discover Functional JavaScript was named one of the best new Functional Programming books by BookAuthority!“发现功能JavaScript”被BookAuthority评为最佳新功能编程书籍之一 &#xff01; I suggest to take into consideration these ideas for building reliable …

leetcode99. 恢复二叉搜索树(优先队列)

二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下&#xff0c;恢复这棵树。示例 1:输入: [1,3,null,null,2]1/3\2输出: [3,1,null,null,2]3/1\2代码 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* …

Android零基础入门第83节:Activity间数据传递方法汇总

2019独角兽企业重金招聘Python工程师标准>>> 在Activity间传递的数据一般比较简单&#xff0c;但是有时候实际开发中也会传一些比较复杂的数据&#xff0c;本节一起来学习更多Activity间数据的传递。 一、常用数据类型 在前面几节我们只学习了一些常用类型的数据传递…

mysql gz 安装_Linux下安装mysql 5.7.17.tar.gz的教程详解

1.创建MySQL组和mysql用户groupadd mysqluseradd -r -g mysql mysql2.拷贝&#xff1a;cp -R mysql-5.7.16-linux-glibc2.5-i686 /usr/local/mysql3.创建data目录mkdir /usr/local/mysql/data3.安装数据库切换到/usr/loca/mysql目录下cd /usr/local/mysql修改当前目录的所有者为…

02-c#基础之01-基础语法(一)

1.注释符 1&#xff09;注销 2) 解释 2.C#中的3种注释符 1&#xff09;单行注释// 2)多行注释/*要注释的内容*/ 3)文档注释///多用来解释类或者方法 2.VS中的快捷键 转载于:https://www.cnblogs.com/yoyo-524/p/6502827.html

day01_初识python

编译型&#xff1a;一次性将所有的代码编译呈二进制文件。C/C 优点&#xff1a;执行效率高 缺点&#xff1a;开发速度慢&#xff0c;不能跨平台 解释型&#xff1a;当程序运行时&#xff0c;从上到下一行一行的解释为二进制文件 优点&#xff1a;开发效率快&#xff0c;可以跨平…

leetcode1414. 和为 K 的最少斐波那契数字数目(贪心算法)

给你数字 k &#xff0c;请你返回和为 k 的斐波那契数字的最少数目&#xff0c;其中&#xff0c;每个斐波那契数字都可以被使用多次。 斐波那契数字定义为&#xff1a; F1 1 F2 1 Fn Fn-1 Fn-2 &#xff0c; 其中 n > 2 。 数据保证对于给定的 k &#xff0c;一定能找…

四五六年级计算机教学计划,五六年级信息技术教学计划

五六年级信息技术教学计划一、大纲对本册教材的要求作为小学阶段的信息技术课程&#xff0c;应以学生对计算机的学习心理、学习行为和学习方法为背景&#xff0c;把计算机基础知识和计算机最新应用融于一体&#xff0c;使之既体现信息技术学科的教学理论&#xff0c;又吸收现代…

ios 跨域_如何在iOS和Android中建立跨域通信桥

ios 跨域I was working on a certain project at work, in which I needed to connect several varying components via messages. Each had its own logic and code language. This made me want to understand all the ways different platforms enable communication.我正在…

阿里巴巴旗下平台口碑推出无人收银技术,改造便利店市场;重庆法院运用 AI 探索“智能判案”...

阿里巴巴旗下平台口碑推出无人收银技术&#xff0c;改造便利店市场 雷锋网消息 阿里巴巴旗下本地生活服务平台口碑今日宣布在上海新兴便利店品牌24鲜上线无人收银技术。消费者只要打开支付宝&#xff0c;扫一扫想要购买的商品的条形码&#xff0c;就可以自助提交订单完成支付。…

如何使用射手影音寻找字幕

我们以"理智与情感"Sense and Sensibility为例&#xff0c;在迅雷搜索了下载&#xff0c;结果到了99%就不动了&#xff0c;由于是字幕文件&#xff0c;不能直接把TD的后缀去掉看影片&#xff0c;但是影片已经下载完成&#xff0c;所以我们使用射手影音播放该电影。&a…

mysql 表分区优缺点_Mysql分区表局限性总结

本文测试的版本XML/HTML代码mysql>select version();------------| version() |------------| 5.1.33-log |------------1 row in set (0.00 sec)一、关于Partitioning Keys, Primary Keys, and UniqueKeys的限制在5.1中分区表对唯一约束有明确的规定&#xff0c;每一个唯一…

C# PagedList 真分页

一&#xff1a;nuget 下载 PagedList 二&#xff1a;前端页面 1.需要的数据 model PagedList.IPagedList<DeviceModel>  using PagedList.Mvc 2.使用数据 foreach (var item in Model)   {    <tr> <td>item.Name</td>       <td>…

leetcode1497. 检查数组对是否可以被 k 整除

给你一个整数数组 arr 和一个整数 k &#xff0c;其中数组长度是偶数&#xff0c;值为 n 。 现在需要把数组恰好分成 n / 2 对&#xff0c;以使每对数字的和都能够被 k 整除。 如果存在这样的分法&#xff0c;请返回 True &#xff1b;否则&#xff0c;返回 False 。 示例 1…

计算机页面设置代码,计算机二级考试Access辅导:页面设置模块代码分享

Dim up, dn, le, ri, si, liAs Single , co As string’定义边距及页面函数Sub ymszmk(strName As String) ’页面设置模块On Error GoTo Err_ymszmkIf Nz(DCount("*", "REPORTLIP", "REPORT’" & strName & "’")) 0 ThenMs…

让我们了解Set及其在JavaScript中的独特功能

by Asif Norzai通过Asif Norzai 让我们了解Set及其在JavaScript中的独特功能&#x1f3b2; (Lets learn about Set and its unique functionality in JavaScript &#x1f3b2;) 设置&#x1f3b2; (SET &#x1f3b2;) ES2015/ES6 gave us a lot of useful tools and feature…