怎么 获取PropertySourcesPlaceholderConfigurer 的propertySources
时间: 2024-05-10 12:16:13 浏览: 131
要获取 `PropertySourcesPlaceholderConfigurer` 的 `propertySources`,您可以使用以下代码:
```java
@Autowired
private PropertySourcesPlaceholderConfigurer configurer;
public PropertySources getPropertySources() {
return configurer.getAppliedPropertySources();
}
```
然后,您可以使用 `getPropertySources()` 方法来获取 `PropertySources` 对象,并使用它来获取配置属性。
相关问题
我需要在系统启动的过程中 获取PropertySourcesPlaceholderConfigurer 的propertySources,怎么实现
可以通过实现 ApplicationContextAware 接口来获取 ApplicationContext,然后再通过 ApplicationContext 获取 PropertySourcesPlaceholderConfigurer 的实例,最后获取其中的 propertySources。
示例代码如下:
```java
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.core.env.MutablePropertySources;
public class MyApplicationContextAware implements ApplicationContextAware {
private MutablePropertySources propertySources;
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
PropertyPlaceholderConfigurer configurer = applicationContext.getBean(PropertyPlaceholderConfigurer.class);
propertySources = ((MutablePropertySources) configurer.getAppliedPropertySources());
}
public MutablePropertySources getPropertySources() {
return propertySources;
}
}
```
在上面的代码中,我们实现了 ApplicationContextAware 接口,并在 setApplicationContext() 方法中获取了 PropertyPlaceholderConfigurer 的实例,然后通过它获取了 propertySources。最后,我们可以通过 getPropertySources() 方法获取到 propertySources。
propertysourcesplaceholderconfigurer
PropertySourcesPlaceholderConfigurer是Spring框架中的一个类,用于将属性文件中的属性值注入到Spring容器中的bean中。它可以从多个属性源中读取属性值,包括属性文件、系统属性、环境变量等。在Spring配置文件中,可以通过配置PropertySourcesPlaceholderConfigurer来实现属性值的注入。
阅读全文