在PostConstruct方法中加载资源

时间:2016-05-30 12:39:42

标签: spring spring-mvc spring-boot

我在服务中使用@PostConstruct注释的方法加载资源文件时遇到了困难。

@Service
    public class MyService {

    @Autowired
    ResourceLoader resourceLoader;

    //@Autowired
    //private ApplicationContext applicationContext;

    @PostConstruct
    public void initialize() {

        Resource res = resourceLoader.getResource("classpath*:myResource.csv");
        //Resource res = applicationContext.getResource("classpath*:myResource.csv");

        ... use loaded resource ...

    }

}

我一直收到错误IllegalStateException: The resources may not be accessed if they are not currently started

我哪里错了?这可能是bean初始化的顺序吗?

1 个答案:

答案 0 :(得分:0)

如果您只加载单个资源,则从类路径中删除星号(*)并确保该文件位于src / main / resources

我的直觉是这是一个类路径问题,而且有些东西不匹配。如果您仍遇到问题,请上传说明此问题的示例项目。