Spring 检索属性pom.xml的值

Spring 检索属性pom.xml的值,spring,spring-boot,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 F

我想检索文件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;
}

如果您使用的是spring引导框架,那么有几种方法可以获得该属性

第一名:

@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);    
    }    

}  
秒:

@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);    
    }    

}  
第三名:

@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);    
    }    

}  

您可以在您的服务中使用
@Value(“${version}”)
,前提是您的服务是Springbean。

您正在尝试检索pom和xml或application.properties中的值集。你应该说清楚。对不起,我试图从文件application.properties中检索值编辑你的问题和主题。。无需读取文件即可获得值。您可以使用
@Value
谢谢它帮助了我