检索属性pom.xml的值

时间:2018-06-25 08:59:53

标签: spring spring-boot

我想在应用程序的服务层中检索文件application.properties中的属性值,setVersion的值为null

version=5.4.3

以及用于恢复版本的功能

@Override
public ProductDto getVersionApp() {
    ProductDto dto = new ProductDto();
    Properties prop = new Properties();
    try {
        prop.load(new FileInputStream("/concerto-rest-api/src/main/resources/application.properties"));

              dto.setVersion(prop.getProperty("version"));
              LOG.info("version ",prop.getProperty("version"));

    } catch (IOException ex) {}

    return dto;
}

2 个答案:

答案 0 :(得分:0)

如果您使用的是spring-boot框架,则有几种方法可以获取该属性。

第一

@SpringBootApplication  
public class SpringBoot01Application {  
    public static void main(String[] args) {  
        ConfigurableApplicationContext  context=SpringApplication.run(SpringBoot01Application.class, args);  
        String str1=context.getEnvironment().getProperty("version");
        System.out.println(str1);  
    }  
} 

第二:

@Component  
public class Student {  
    @Autowired  
    private Environment env;  
    public void speak() {  
        System.out.println("=========>" + env.getProperty("version"));  
    }  
}

第三:

@Component    
@PropertySource("classpath:jdbc.properties")//if is application.properties,then you don't need to write @PropertyScource("application.properties")    
public class Jdbc {    

    @Value("${jdbc.user}")  
    private String user;    

    @Value("${jdbc.password}")   
    private String password;    

    public void speack(){    
        System.out.println("username:"+user+"------"+"password:"+password);    
    }    

}  

答案 1 :(得分:0)

您可以在服务中使用${__P(param1)},前提是您的服务是一个Spring bean。