在Spring-Batch中未加载属性文件

时间:2019-10-16 09:24:21

标签: java spring spring-boot spring-batch

我正在尝试使用注释加载属性:

@PropertySource({"classpath:application.properties"})

@Value("${my.property}")
String myProperty;

因此,myProperty始终为空

它正在使用时:

BatchConfiguration.class.getClassLoader().getResourceAsStream("application.properties");

这是我的Batch conf类签名:

@Configuration
@ComponentScan
@EnableBatchProcessing
@PropertySource({"classpath:application.properties"})
public class BatchConfiguration {

    @Value("${db.url}")
    private String url;
...

}

和Application.java:

@SpringBootApplication
public class Application {

    public static void main(String[] args) throws Exception {
            SpringApplication.run(Application.class, args);
        }
}

我还尝试使用以下方式加载它:

    @Autowired
    public static Environment env;

但是env也为空。

2 个答案:

答案 0 :(得分:0)

在运行Spring Boot应用程序时传递以下JVM参数

--spring.config.location=properties file path

答案 1 :(得分:-1)

在您的@PropertySource({“ classpath:application.properties”})中删除{} 应该是

@PropertySource("classpath:application.properties")

@PropertySource(value="classpath:application.properties")