• Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.6.2 ApplicationContextAware和BeanNameAware


    6.6.2 ApplicationContextAware和BeanNameAware

    当ApplicationContext创建了一个实现org.springframework.context.ApplicationContextAware接口的对象实例时,就为该实例提供了ApplicationContext引用。

    public interface ApplicationContextAware {
    
        void setApplicationContext(ApplicationContext applicationContext) throws BeansException;
    
    }

    因此,bean可以通过ApplicationContext接口以编程方式操作创建它们的ApplicationContext,或者通过将引用强制转换为此接口的已知子类(例如ConfigurableApplicationContext)来暴露额外的功能。一种用途是对其他bean进行编程式检索。有时这种能力很有用; 然而,通常你应该避免使用它,因为它将代码耦合到Spring并且不遵循协作者作为属性提供给bean这样的控制反转形式。 ApplicationContext的其他方法提供对文件资源的访问,发布应用程序事件和访问MessageSource。这些附加功能在第6.15节“ApplicationContext的额外功能”中介绍。

    从Spring 2.5开始,自动装配是另一种获取ApplicationContext引用的可选方法。“传统”的构造函数和byType自动装配模式(如第6.4.5节“自动装配协作者”中所述)可以分别为构造函数参数或setter方法参数提供ApplicationContext类型的依赖关系。为了获得更大的灵活性,包括使用新的基于注解的自动装配字段和多参数方法的能力。如果您这样做,ApplicationContext将自动装配带有@Autowired注解的字段,构造函数参数或方法参数。 有关更多信息,请参见第6.9.2节“@Autowired”。

    当ApplicationContext创建实现org.springframework.beans.factory.BeanNameAware接口的类时,该类提供了在其关联对象定义中定义的名称的引用。

    public interface BeanNameAware {
    
        void setBeanName(string name) throws BeansException;
    
    }

    该回调函数在普通bean属性填充之后但在初始化回调之前调用,例如InitializingBean afterPropertiesSet或自定义init方法。

  • 相关阅读:
    [SoapUI] UrlEncode编码/UrlDecode解码网站
    [Token] 从index.jsp中获取Token
    [Groovy]获取当前活动的Environment,获取response中节点的name和节点的value
    [Cookie] Clear Cookie
    [Groovy] Groovy API
    [Schema] I have updated my XML Schema for my service but SoapUI still generates/validates according to the old schema.
    [SoapUI] SoapUI可以做到些什么?功能有多强大?
    [Training Video
    [JSON] Validating/Asserting JSON response with Jsonlurper
    华中农业大学第四届程序设计大赛网络同步赛 I
  • 原文地址:https://www.cnblogs.com/springmorning/p/10355859.html
Copyright © 2020-2023  润新知