资讯专栏INFORMATION COLUMN

PropertyPlaceHolderConfigurer中的location是不是用错了?

pkwenda / 1245人阅读

摘要:结论属性没有使用错,而是根据反射调用方法,将赋值给了了而已。免费领取验证码内容安全短信发送直播点播体验包及云服务器等套餐更多网易技术产品运营经验分享请访问网易云社区。文章来源网易云社区

本文由作者张远道授权网易云社区发布。

spring中常用PropertyPlaceHolderConfigurer来读取properties配置文件的配置信息。常用的配置方式有两种,一种是使用location

另一种是使用locations



classpath:myproperty.propeties
classpath:myproperty1.properties


查看PropertyPlaceHolderConfigurer的源码发现,整个PropertyPlaceHolderConfigurer的继承树中都没有location整个属性,仅仅只有locations这个属性。如下图所示。

因此,认为既然没有location这个属性,那使用时是不是不正确。但是仔细看看发现了PropertiesLoaderSupport中有setLocation()方法。

而查看spring有关依赖注入的源码:

即获得property对应的setter方法,以及property对应的值,然后通过反射,调用该方法即可。可以看出,不要求类的定义中真正包含改属性,只要对应的setter方法被调用即可以。因此,ioc容器从xml配置中读到属性为location的值,然后获得location对应的setter方法,即setLocation,然后通过反射,将location的值传入了setLocation中。如下图。

结论:location属性没有使用错,而是spring根据反射调用setLocation方法,将location赋值给了locations了而已。

免费领取验证码、内容安全、短信发送、直播点播体验包及云服务器等套餐

更多网易技术、产品、运营经验分享请访问网易云社区。

文章来源: 网易云社区

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25354.html

相关文章

  • @ImportResource导入的xml配置里的Bean能够使用@PropertySource导入

    摘要:关于使用这种方式我还有必要再说明一点若自己设置了加载属性文件,这句代码对此种场景就没有必要了,配置的占位符也是能够读取到的。 每篇一句 大师都是偏执的,偏执才能产生力量,妥协是没有力量的。你对全世界妥协了你就是空气。所以若没有偏见,哪来的大师呢 相关阅读 【小家Spring】详解PropertyPlaceholderConfigurer、PropertyOverrideConfigur...

    fancyLuo 评论0 收藏0
  • ZooKeeper做为应用系统参数配置服务的实践

    摘要:配置之痛与解决之道当有很多项目需要你来不停的向集成测试和生产环境发时配置文件的差异性会造成很大的困挠一方面你不希望把敏感信息到处保存另一方面会大量的地址信息需要配置每个引入的第三方都需要配置往往不同环境的还都不一样一旦搞错了轻则项目起不来 配置之痛与解决之道 当有很多项目需要你来不停的向集成,测试和生产环境发时, 配置文件的差异性会造成很大的困挠.一方面你不希望把敏感信息到处保存. 另...

    Gu_Yan 评论0 收藏0
  • Spring详解4.容器内幕

    摘要:在这一步里,将配置文件的信息装入到容器的定义注册表中,但此时还未初始化。注册后处理器根据反射机制从中找出所有类型的,并将它们注册到容器后处理器的注册表中。是属性编辑器的注册表,主要作用就是注册和保存属性编辑器。 点击进入我的博客 1 Spring容器整体流程 1.1 ApplicationContext内部原理 AbstractApplicationContext是Applicati...

    dantezhao 评论0 收藏0
  • AngularJS 公共方法 代码健壮性思考

    摘要:这严重地影响了开发的效率。参数校验所以我们的公共方法既要写注释,让人能看懂,也要对每一个传入的参数表示怀疑。公共方法随手一条提示信息,节约程序员的万千时间。 公共方法 当我们写一些公共组件或方法时,我们可能需要接收外部的参数,但是,我们并不总能保证我们的注释是完全能让他人理解的。 /** * 获取所有考评员信息 * @param {district} 区域 * @par...

    Jenny_Tong 评论0 收藏0
  • 数据清洗该怎么做?

    摘要:该结果值被视为四分位间距。通过这样做,可以保持数据集的完整性,并保障预估的准确性。使用函数可以找到目标数据,并将其替换为预期的数据。 要精确建模,数据是重中之重,但是模型的输入是受限的,如果数据有缺陷没做清洗,那模型就不可能精准,当你得到不准确结果的时候,第一要怀疑的不是用错模型,...

    lcodecorex 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<