当前位置:   article > 正文

@PropertySource的使用

@PropertySource的使用

假设我们有一个名为 database.properties 的属性文件,内容如下,该文件位于项目的类路径 (resources 目录) 下:

  1. # database.properties
  2. db.url=jdbc:mysql://localhost:3306/mydb
  3. db.username=root
  4. db.password=password

然后,创建一个 Spring 配置类,使用 @PropertySource 加载上述属性文件,并在配置类中使用这些属性:

  1. import org.springframework.beans.factory.annotation.Autowired;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.core.env.Environment;
  5. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  6. import javax.sql.DataSource;
  7. @Configuration
  8. @PropertySource("classpath:database.properties") // 加载属性文件
  9. public class AppConfig {
  10. @Autowired
  11. private Environment env; // 注入环境变量,以便访问属性
  12. @Bean
  13. public DataSource dataSource() {
  14. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  15. // 从环境变量中读取属性并设置到数据源中
  16. dataSource.setUrl(env.getProperty("db.url"));
  17. dataSource.setUsername(env.getProperty("db.username"));
  18. dataSource.setPassword(env.getProperty("db.password"));
  19. return dataSource;
  20. }
  21. }

我们可以通过 @PropertySource 注解指定了 database.properties 文件的位置。然后,使用 @Autowired 注入 Environment 对象,通过调用 env.getProperty() 方法读取属性值,并将这些值应用于数据源 (DataSource) 的配置中。这样,当 Spring 应用启动时,它会自动读取这些外部配置,并正确地配置数据源 Bean,无需硬编码任何数据库连接细节。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/499900
推荐阅读
相关标签
  

闽ICP备14008679号