2012-03-07 75 views
2

我們使用Spring MVC + Hibernate。Spring MVC屬性表

我們在我們的數據庫中有查找表。想要如果有反正我可以將值自動加載到一個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

是否有任何其他解決方案,如使用啓動監聽器? – 2012-03-08 02:31:47

+0

@ user1102835你的意思不是'@ PostConstruct'?在Spring中,還有'init-method =''''和'InitializingBean'接口。 – 2012-03-08 07:56:36