怎么将多个properties文件合并成一个

怎么将多个properties文件合并成一个,第1张

source1=nl.justobjects.pushlet.test.TestEventPullSources$TemperatureEventPullSourcesource2=nl.justobjects.pushlet.test.TestEventPullSources$SystemStatusEventPullSourcesource3=nl.justobjects.pushlet.test.TestEventPullSources$PushletStatusEventPullSourcesource4=nl.justobjects.pushlet.test.TestEventPullSources$AEXStocksEventPullSourcesource5=nl.justobjects.pushlet.test.TestEventPullSources$WebPresentationEventPullSourcesource6=nl.justobjects.pushlet.test.TestEventPullSources$PingEventPullSource

通常情况下,应用程序开发人员不需要对ApplicationContext实现类进行子类化。相反,Spring IoC容器可以通过插入特殊集成接口的实现来进行扩展。接下来的几节将描述这些集成接口。

BeanPostProcessor接口定义了回调方法,你可以实现这些方法来提供你自己的(或覆盖容器的默认)实例化逻辑、依赖性解析逻辑等等。如果你想在Spring容器完成实例化、配置和初始化Bean之后实现一些自定义逻辑,你可以插入一个或多个自定义BeanPostProcessor实现。

你可以配置多个BeanPostProcessor实例,你可以通过设置order属性控制笑渣这些BeanPostProcessor实例的运行顺序。只有当BeanPostProcessor实现了Ordered接口时,你才能设置这个属性。如果你编写自己的BeanPostProcessor,你也应该考虑实现Ordered接口。更多细节,请参见BeanPostProcessor和Ordered接口的javadoc。也请看关于BeanPostProcessor实例的程序化注册的说明。

BeanPostProcessor实例对Bean实例进行 *** 作。也就是说,Spring IoC容器实例化一个Bean实例,然后由BeanPostProcessor实例进行工作。BeanPostProcessor实例在每个容器中都有作用域。这只有在你使用容器层次结构时才有意义。如果你在一个容器中定义了一个BeanPostProcessor,它只对该容器中的Bean进行后处理。换句话说,在一个容器中定义的Bean不会被另一个容器中定义的BeanPostProcessor进行后处理,即使这两个容器是同一层次结构的一部分。

ApplicationContext会自动检测配置元数据中定义了实现BeanPostProcessor接口的Bean。ApplicationContext 将这些 bean 注册为后处理器,以便以后在创建 bean 时可以调用它们。Bean后处理器可以像其他Bean一样被部署在容器中。

下面的例子展示了如何在ApplicationContext的上下文中编写、注册和使用BeanPostProcessors

Output:

BeanFactoryPostProcessor的实现被用来读取配置元数据,并在IOC容器实例化Bean之前对其进行修改。我们可以配置多个BeanFactoryPostProcessor,你还可以通过设置order属性来控制这些BeanFactoryPostProcessor的执行顺序。只有当BeanFactoryPostProcessor实现了Ordered接口时,你才能设置order属性。

BeanFactoryPostProcessor是一个功能接口,它有一个抽象方法postProcessBeanFactory(),实现这个方法,可以自定义修改Bean定义。请注意,当这个方法被调用知庆时,所有的Bean定义都已经被加载,但还没有Bean被实例化。它允许重写或添加属性,即使是对急于初始化的Bean。BeanFactoryPostProcessor定义如下:

BeanFactoryPostProcessor示例

举个简单的例子,假如我们已经在properties配置文件中为数据库配置设置了属性,但在运行时我们想更改url,其它属性保持不变,我们可以用BeanFactoryPostProcessor访问bean定义,并修改属性值。当然,我们可以配置多个properties文件,并进行切换,这里仅做一个示例。

Output:

在Spring的bean容器中,有两种bean:普通bean和工厂bean。Spring直接使用前者,而后者可以自己产生对象,由框架来管理。简单地搭升握说,我们可以通过实现org.springframework.beans.factory.FactoryBean接口来建立一个工厂bean。

FactoryBean 接口提供了三种方法:

示例:

当我们要获取FactoryBean实例时,需要在bean的id前面加上 & 符号,比如getBean('&tool')


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8192948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存