2012-03-07 2 views
2

Мы используем Spring MVC + Hibernate.Spring MVC Properties Таблица

У нас есть таблица поиска в нашей базе данных. Хотелось бы, если в любом случае я могу иметь значения, загруженные автоматически в bean/properties/map, поэтому мне не нужно обращаться к базе данных за каждый раз, когда мне нужно.

Содержимое таблицы должно загружаться в файл prop/bean/map во время запуска сервера.

Пожалуйста, помогите.

ответ

0

Просто загрузите данные в @PostConstruct обратного вызова:

@Service 
public class ReferenceData { 

    private Map cached//... 

    @PostConstruct 
    public void loadReferenceData() { 
     //load from database and store in `cached` field 
    } 

} 

Будьте осторожны, @PostConstruct не является транзакционной и не может быть, даже когда с аннотацией @Transactional.

Другой подход заключается в использовании кэша кеша Hibernate L2 и кеша запросов. Загружайте данные каждый раз, когда вам это нужно из базы данных, и пусть кэширующий слой, встроенный в Hibernate, обрабатывает его.

+0

Есть ли какие-либо другие решения, такие как использование пускающих слушателей? –

+0

@ user1102835 Вы имеете в виду, кроме '@ PostConstruct'? Весной существует также интерфейс init-method = "" и 'InitializingBean'. –