Spring-Context之七:使用p-namesapce和c-namespace简化bean的定义
发布日期:2021-09-08 01:45:11 浏览次数:30 分类:技术文章

本文共 1403 字,大约阅读时间需要 4 分钟。

在Spring中定义bean的方式多种多样,即使使用xml的方式来配置也能派生出很多不同的方式。

比如如下的bean定义:

123456789101112

这样的bean有三行,通过使用p-namespace以后可以简化为一行。

123456789

那么什么是p-namespace那?它的作用就是使用xml中的元素属性取代<property/>节点来定义bean的属性。这个神奇的p是什么东西那?它其实是使用了namespace的xml扩展配置格式。beans的配置格式是定义在一个xsd格式中的(即 http://www.springframework.org/schema/beans/spring-beans.xsd),但p却没有一个xsd格式文件与其对应,但是它可以被spring内核解析处理。

上面只是演示了对属性为普通值的时使用p-namespace的注入,如果属性为另一个bean的引用时该如何处理那?很简单。

这是使用正常方式注入属性。

123456

使用p-namespace后是这样的。

12

加上-ref后缀即表示是对一个bean的引用。

那既然setter方法注入bean可以使用p-namespace,那么构造器方式注入有没有相应的简写那?答案是肯定的,那就是c-namespace,原理和使用方法与p-namespace大同小异。

使用c-namespace前:

123456789101112131415
Tom

使用c-namespace后:

12345678

也可以使用-ref后缀来表示对另一个bean的引用。

12

在前面章节讲解构造器注入时,可以使用构造参数索引来注入依赖,c-namespace也支持这一方式。

123456789101112

怎么样,是不是很强大啊。但是太过强大也容易伤人伤己。在项目中使用这些技巧之前最好先和项目成员达成一致。

本例中的源码请在上自行下载。

转载地址:https://blog.csdn.net/weixin_34310369/article/details/85614682 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:设计模式之美:Iterator(迭代器)
下一篇:linux 挂载 ISO 文件

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2023年05月15日 11时48分25秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

php怎么写视频审核代码,媒体审核 2019-08-24 11:20:24
oracle avdf fga,Oracle Database Security Assessment Tool (DBSAT) (Doc ID 2138254.1) 2019-08-24 11:20:23
in array php 坑,php – 为什么in_array()返回意外/奇怪的结果? 2019-08-24 11:20:22
oracle的CPU补丁和PSU补丁,[Oracle] Data Guard CPU/PSU补丁安装详细教程 2019-08-24 11:20:22
incarnation oracle,对rman中的incarnation(化身)详解 2019-08-24 11:20:21
oracle11g索引优化器,【oracle 性能优化】组合索引查询。 2019-08-24 11:20:21
jdbc oracle 函数,jdbc中调用oracle函数 2019-08-24 11:20:20
Oracle 中update from,oracle中update的细节 2019-08-24 11:20:20
微信你scope 参数错误 php,微信开发: scope参数错误或没有scope权限解决方法 2019-08-24 11:20:19
php 图片切换间隔时间,js实现多张图片每隔一秒切换一张图片 2019-08-24 11:20:19
iis php 配置json扩展,IIS解析json的配置方法汇总 2019-08-24 11:20:18
php里面的require,PHP中的require-dev和require之间的区别 2019-08-24 11:20:18
写缓存 php,小程序写入缓存和读取缓存如何实现 2019-08-24 11:20:17
matlab中脚本互相调用,如何在Windows上的脚本中调用Matlab? 2019-08-24 11:20:17
matlab代码看不懂,求助帖!有一个代码看不懂,请能看懂的哥哥姐姐帮帮忙 2019-08-24 11:20:16
matlab特征值提取,求大神指导,图片的特征值提取 2019-08-24 11:20:16
正交解调 matlab,MATLAB正交振幅调制解调仿真分析(一)_通信工程毕业论文范文 2019-08-24 11:20:15
php实现代码高亮,PHP高亮显示 XML 源代码_php 2019-08-24 11:20:15
java里的globalperson作用,Java PersonAddress.getAddressType方法代码示例 2019-08-24 11:20:14
dash mpd parser java,xml – 如何创建MPEG-DASH的MPD文件来播放webm视频? 2019-08-24 11:20:14