@refreshScope和@PropertySource怎么样?

时间:2017-10-19 07:23:04

标签: java spring spring-boot microservices spring-cloud

有人知道@RefreshScope是否适用于重新加载属性/ yml文件的类,只能使用@PropertySource注释的配置类进行操作? 我必须刷新外部配置文件,但我不能这样做:

@Bean
@RefreshScope
public FileProperties refreshListConfig() {
 return new FileProperties();  //why ?
}


@Configuration //Configuration or new instance as above? 
@PropertySource("file:${path.properties}")
@ConfigurationProperties(prefix="multitenancy")
public class FileProperties {


    private List<DirProps> dir =new ArrayList<DirProps>();

    private String tenantsFilePath; 
..
class DirProps { ..}
...
}

我知道@RefreshScope不能与@Configuration一起使用,但我可以在没有@Configuration的情况下使用@PropertySource吗?

Javadoc: 注释提供了一种方便的声明机制,用于将PropertySource添加到Spring的环境中。与@Configuration类一起使用。

那么,我可以使用@RefreshScope而不在应用程序属性中移动外部属性并从FileProperties类中删除@PropertySource和@Configuration注释吗?你知道如果存在一种工作方法而不移动属性吗? 感谢

0 个答案:

没有答案