2016-05-30 3 views
0

У меня возникают трудности с загрузкой файла ресурсов из метода, аннотированного с помощью @PostConstruct в службе.Загрузка ресурсов в метод 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.

Куда я иду не так? Может быть, это что-то вроде порядка инициализации бобов?

+0

@PostConstruct вызывается после того, как bean полностью инициализирован, поэтому в идеале ResourceLoader должен был быть введен. Может быть, проблема с сервлетами? Здесь вы можете найти ответ: http://stackoverflow.com/a/29453024/1969874 –

ответ

0

Если вы только загружаете один ресурс, то удалите звездочку (*) от вашего пути к классам и убедитесь, что файл находится в SRC/основные/ресурсов

Мой инстинкт, что это вопрос классам и что-то не соответствует. Если у вас все еще есть проблемы, загрузите образец проекта, который иллюстрирует эту проблему.

Смежные вопросы