Spring中的Aware和Capable

Spring中的Aware和Capable


Aware

XXXAware在Spring里表示对XXX可以感知,通俗点解释就是:如果在某个类里边想要使用spring的一些东西,就可以通过实现XXXAware接口告诉Spring, Spring看到后就会给你送过来,而接收的方式是通过实现接口唯一的方法setXXX。
这里可以有一个概念,就是所有接口定义set方法并让你来实现set方法的都是可以获取到某一个对象,它一定是在某个框架的某个地方调用了这个方法,然后把想要的对象给set进来了

栗子:

比如一个类需要使用当前的ApplicaitonContext或者Environment

可以实现ApplicationContextAware接口,然后实现setApplicaitonContext(),就可以得到ApplcationContext

Capable

Capable,顾名思义,就是具有某种能力。
EnvironmentCapable,顾名思义,就是当前具有Environment的能力,也就是可以提供Environment.所以EnvironmentCapable唯一的方法就是Environment getEnvironment(); 用于实现EnvironmentCapable接口的类,就是告诉Spring它可以提供Environment,当Spring需要Environment的时候就会调用其getEnvironment方法跟它要。

同样这里的Capable也可以这么理解:就是所有接口定义get方法并让你来实现get方法的都是可以提供一个对象,它一定是在某个框架的某个地方调用了该方法,从你这个提供者这里get了某个对象。

转载于:https://www.cnblogs.com/Jarris/p/10125980.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101256.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BeanCopier工具类_BeanUtils

    BeanCopier工具类_BeanUtilscglib的BeanCopier功能很强大,不过频繁的create太占用资源,降低服务器性能,所以写了下面的代码进行优化。以达到提升性能的目的。主要就是用缓存将类型相同的copier缓存起来,后续copy的时候就不用再继续创建了。这样的话如果有频繁用到BeanCopier的地方,将是很有用处滴。importorg.springframework.cglib.beans.BeanCopi…

    2025年9月15日
    5
  • Android应用开发揭秘2

    Android应用开发揭秘2Android应用开发揭秘2

    2022年6月11日
    32
  • centos通过yum安装jdk1.8

    centos通过yum安装jdk1.8查看命令检查yum文件yumsearchjava|grepjdk如果没有1.8的自己跟新一下yum即可yum-yupdate安装命令yuminstalljava-1.8.0-openjdkyumload-transaction/tmp/yum_save_tx.2021-12-11.13-30.uGD_Sw.yumtx验证

    2022年5月8日
    55
  • 简述Redis持久化机制RDB和AOF优缺点_redis的aof和rdb

    简述Redis持久化机制RDB和AOF优缺点_redis的aof和rdb先通过故事理解一下RDB和AOF,再来详细讲讲两者的区别RDB和AOF的故事我是Redis,一个叫Antirez的男人把我带到了这个世界上。“快醒醒!快醒醒!”,隐隐约约,我听到有人在叫我。慢慢睁开眼睛,原来旁边是MySQL大哥。“我怎么睡着了?”“嗨,你刚才是不是出现了错误,整个进程都崩溃了!害得一大堆查询请求都给我怼过来了!”,MySQL说到。刚刚醒来,脑子还有点懵,MySQL大哥扶我起来继续工作。“糟了!我之前缓存的数据全都不见了!”“WTF?你没有做持久化吗?”,MySQL大哥一

    2025年8月15日
    3
  • 小程序列表跳转至详情_小程序跳转链接怎么获取

    小程序列表跳转至详情_小程序跳转链接怎么获取效果展示:列表页js部分:onLoad:function(options){varthat=this;wx.request({url:’你的接口’,data:{ 接口参数},header:{‘content-type’:’ap…

    2022年8月19日
    7
  • springboot的启动流程图_springboot运行流程

    springboot的启动流程图_springboot运行流程文章目录前言springboot启动流程图第一部分newSpringApplication()第二部分工厂对象构建实例第三部分SpringApplication.run(启动此应用)第四部分SpringApplicationRunListener第五部分banner彩蛋前言研究springboot启动的整个流程。springboot启动流程图第一部分newSpringApplication()第二部分工厂对象构建实例第三部分SpringApplication.

    2022年8月20日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号