在Spring中,可以通過(guò)使用@PropertySource
注解和PropertySourcesPlaceholderConfigurer
來(lái)重寫(xiě)properties文件中的屬性值。
創(chuàng)建一個(gè)新的properties文件,例如custom.properties
,并在其中定義要重寫(xiě)的屬性值。
在Spring的配置類(lèi)中使用@PropertySource
注解導(dǎo)入custom.properties
文件,如下所示:
@Configuration
@PropertySource("classpath:custom.properties")
public class AppConfig {
// other configurations
}
PropertySourcesPlaceholderConfigurer
的Bean,并將其添加到Spring的配置類(lèi)中,如下所示:@Configuration
@PropertySource("classpath:custom.properties")
public class AppConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
// other configurations
}
@Value
注解來(lái)注入屬性值,如下所示:@Component
public class MyComponent {
@Value("${custom.property1}")
private String customProperty1;
// other code
}
這樣就可以實(shí)現(xiàn)重寫(xiě)properties文件中的屬性值。在加載properties文件時(shí),Spring會(huì)首先加載custom.properties
文件中定義的屬性值,如果有重復(fù)的屬性名,則會(huì)覆蓋之前加載的屬性值。