如何使用注释将属性文件加载到spring boot项目中?

时间:2017-03-10 10:08:17

标签: spring spring-boot

我在属性文件中编写了查询。我想在spring boot中将属性文件读入一个带注释的类中。我怎么读呢?是否有更好的方法在Spring启动项目中编写查询?

3 个答案:

答案 0 :(得分:0)

您可以按@Value("${property.name}")

注释组件中的字段

否则,您可以在Properties包中使用java.util对象。

例如,我有一个模式属性,其值为dev或prod,我可以在我的bean中使用它,如下所示:

@Value("${mode:dev}")
private String mode;

另一种方法是使用:

Properties pro = new Properties();
pro.load(this.getClass().getClassLoader().getResourceAsStream());

答案 1 :(得分:0)

如果在application.properties文件中添加属性,则可以在Spring引导类中读取它们,如:

    @Service
    public class TwitterService {
        private final String consumerKey;
        private final String consumerKeySecret;

        @Autowired
        public TwitterService(@Value("${spring.social.twitter.appId}") String consumerKey, @Value("${spring.social.twitter.appSecret}") String consumerKeySecret) {
            this.consumerKey = consumerKey;
            this.consumerKeySecret = consumerKeySecret;
        } ...

答案 2 :(得分:0)

您可以使用@PropertySource从文件中读取属性,然后将它们传递给bean。如果您有一个名为" queries.properties"的文件有一个属性,如:

query1: select 1 from foo

然后您的配置可能如下所示:

@PropertySource("classpath:queries.properties")
@Configuration
public class MyConfig {

 @Bean
 public DbBean dbBean(@Value("${queries.query1}") String query) {
     return new DbBean(query);
 }

}