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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c++事件循环(win32消息机制)

    1.windows消息循环if(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);//消息转化DispatchMessage(&msg);//消息派遣.把TranslateMessage转换的消息发送到窗口的消息处理函数,此函数在窗口注册时已经指定}执行过程:消息循环调用G…

    2022年4月13日
    243
  • vue2 renrne 引入tinymce[通俗易懂]

    vue2 renrne 引入tinymce[通俗易懂]tinymce1.引入和原始使用下载地址:https://www.tiny.cloud/get-tiny/self-hosted/语言包地址:https://www.tiny.clou

    2022年7月2日
    79
  • LeetCode :: Validate Binary Search Tree[具体分析]

    LeetCode :: Validate Binary Search Tree[具体分析]

    2022年1月3日
    51
  • Java面试宝典(超级详细)「建议收藏」

    一、Java基础1.JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,java开发工具包,提供了java的开发环境和运行环境。JRE:JavaRuntimeEnvironment的简称,java运行环境,为java的运行提供了所需环境。具体来说JDK其实包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具。简单来说:如果你需要运行java程序,只需安装JRE就可

    2022年4月5日
    43
  • springboot设置时区不起作用_docker设置时区

    springboot设置时区不起作用_docker设置时区第一步:确认docker时区进入容器中dockerexec-it容器namebash查看容器时区:date第二步确认数据库时区SELECTTIMEDIFF(NOW(),UTC_TIMESTAMP);如果显示的是08:00:00则是cst时区。如果不是cst时区,则执行Sql:setglobaltime_zone=’+8:00′;##修改mysql全局时区为北京时间,即我们所在的东8区settime_zone=’+8:00′;.

    2022年9月25日
    2
  • java中byte的用法_nt宫颈长度多少是正常

    java中byte的用法_nt宫颈长度多少是正常1.概念JavaNIOAPI自带的缓冲区类功能相当有限,没有经过优化,使用JDK的ByteBuffer操作更复杂。故而Netty的作者TrustinLee为了实现高效率的网络传输,重新造轮子,Netty中的ByteBuf实际上就相当于JDK中的ByteBuffer,其作用是在Netty中通过Channel传输数据。2.优势可以自定义缓冲类型;通过内置的复合缓冲类型,实现透明的零拷贝(ze…

    2022年9月19日
    1

发表回复

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

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