首页 > 解决方案 > @Profile("String") 和 @ProfileName 有什么区别

问题描述

这两个配置文件定义有什么区别。

@Profile("prod")
public DatabaseDatasource getProductionDatabase() {
//code
}

@Profile("prod")
public @interface ProdProfile{}

@ProdProfile
public DatabaseDatasource getProductionDatabase() {
//code
}

标签: javaspring

解决方案


没有区别。

不同之处在于您只将所需的配置文件编写为接口。如果您决定更改配置文件名称,您只需在一个地方更改它,而不是像在您的示例中那样在整个项目中搜索文字“prod”。

要么不重复自己,它应该工作相同


推荐阅读