Я создал простую lib для этого, используя setTimeout ().
Исходный код доступен здесь:
https://github.com/miohtama/Krusovice/ BLOB / Master / SRC / инструмент / fade.js
В основном я предпочитаю многоуровневую архитектуру с пружинной загрузкой, поэтому с двумя разными слоями для Configuration
и model
, например
package app.config
@Configuration
public class MyDataConfig {
// factory method
@Bean
public static MyData loadMyData(ResourceLoader resourceLoader) throws IOException {
try (InputStream input = resourceLoader.getResource("classpath:data.json").getInputStream()) {
return new ObjectMapper().readValue(input, MyData.class);
}
}
}
пакет com.model
public class MyData {
// data structure
private Map<String, DataDetail> details;
// ...
}
Как ответил Дэдпул, вы должны отделить класс MyData
от класса @Configurtion
.
@Configuration
мета-аннотирован с помощью @Component
, поэтому, когда вы аннотируете MyData
с помощью @Configuration
, Spring также связывает его как обычный bean-компонент, и это делает двойное определение bean-компонентов MyData
.