Да, вы можете использовать синглтон для этого.Самый простой способ - использовать Spring , объявить свой BookStore как Bean-компонент в своем классе Application:
@Bean
public BookStore getBookStore(){
return new BookStore();
}
И затем, в каждом классе, где вам нужно ссылаться на него, объявить свой bookStoreкак объект @Autowired
, поэтому Spring автоматически находит ваш одиночный объект BookStore и внедряет его.Например:
@Service
public class BookService {
@Autowired
private BookStore bookStore; //This variable will reference your BookStore singleton.
public List<Book> getBooksFromStore(){
return bookStore.getBooks();
}
}
Вы можете узнать больше о Spring здесь: https://www.baeldung.com/spring-tutorial
Это всего лишь пример, чтобы вы могли узнать о синглетах, но в сценарии реального мира вы должны использоватьбаза данных для сохранения ваших данных, поскольку синглтон будет хранить данные только до тех пор, пока приложение не прекратит работу.