@PropertySource
注解是Spring框架中用于指定属性源(即配置文件)的注解。通过该注解,你可以指定一个或多个属性文件,Spring容器会加载这些属性文件中的配置信息,并将其用于属性注入等用途。
以下是一个简单的示例:
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@PropertySource("classpath:my-config.properties")
public class MyComponent {
// 在这里可以使用 @Value 注解注入属性值
// 例如:@Value("${my.property}")
// private String myProperty;
// 其他组件代码...
}
在上面的例子中,@PropertySource("classpath:my-config.properties")
注解指定了属性文件的位置为 classpath 下的 my-config.properties
。Spring容器会加载该文件中的配置信息,你可以在 MyComponent
类中使用 @Value
注解来注入属性值。
如果你有多个属性文件,可以在 @PropertySource
注解中使用数组来指定多个文件:
@PropertySource({"classpath:config1.properties", "classpath:config2.properties"})
需要注意的是,@PropertySource
注解通常用于配置类上,比如使用 @Configuration
或 @Component
注解的类。它告诉Spring容器在加载配置时要考虑这些属性文件。
另外,如果你使用了Spring Boot,通常情况下你不需要显式使用 @PropertySource
注解,因为Spring Boot会自动加载 application.properties
或 application.yml
文件。