1. 程式人生 > >Spring MVC 使用心得

Spring MVC 使用心得

這段時間用 Spring MVC 進行了開發,覺得很方便。

不過也踩到了一些坑,有一些心得。

Spring Autowired 注入

通常的套路是先宣告一個介面,再定義一個或多個該介面的實現。
Autowired 時侯只用介面型別就可以,Spring 會自動找介面的實現注入。
如果介面有多個實現,則可以入 @Bean 定義一個 返回具體物件新例項的函式,並在類中用 @Configuration 來配置。

反之,如果直接宣告介面的實現,則會報錯。

用 Spring 管理 Session/Transaction

用 Spring 管理事務很方便。不用自己開啟或關閉 Session。只要在高層的函式上使用 @Transactional 就可以了。

但是也要注意:

  • @Transactional 適合用在高層的函式上,不要在底層的 Dao 實現上使用

使用 Spring-hibernate

使用了 Spring-hibernate 之後,再使用 Spring-TX,就不用再定義資料來源了。
直接定義注入 Session Factory 和 Transaction Manager 就可以了。

另外,Hibernate 使用自帶的 C3P0 Connection Pool, 不需要 Apache DBCP2 了。

前端 SPA 與 後端 MVC 的對比

感覺各有優劣。目前還沒有辦法做到前後端分離。

SPA 可以很靈活,但也存在問題:

  • javascript 大了之後,很難維護
  • 一些典型的操作,比如超時退出,需要專門的 Hack 才能解決
  • 一些原本 MVC 下簡單的操作,在 SPA 架構下比較麻煩

目前看來,在進行一個頁面上的動態互動時,SPA 還是很有意義的。