我注意到,以下未標記爲@Controller
類工作:@Transactional方法不considred爲事務
@Autowired
SessionFactory sessionFactory;
@ResponseBody
@Transactional
@RequestMapping(method = RequestMethod.GET , value = "/map")
public ArrayList<PhotoDTO> getPhotos(...someParams) {
Entity result sessionFactory.getCurrentSession()... //do some manipulation
return result;
}
當我打電話的URL,我得到一個錯誤說如果我這個方法複製到另一個類叫做爲MyService和控制器,而不是把它(雖然,你可以看到,它被標記爲一個)
的方法不是事務性的,它完美
是這是某種春天a dvice(使我更多或更少使用更多類的陰謀)?
這是有點直觀的,因爲它通常是控制器,你做了一堆權限測試,以說明當前用戶是否可以執行某個操作。對於那些我需要從數據庫訪問數據的人。另外,我可以把這些測試也移到服務層,但是,那麼,控制器的目的是什麼:) – preslavrachev 2012-03-13 08:43:20
有時候,對於基本的CRUD,似乎是矯枉過正的構建一個服務層只是爲了調用基本的DAO方法保存或更新... – 2013-11-06 17:18:34
@PierreHenry oooo,我同意。有很多關於這方面的討論。 – NimChimpsky 2013-11-06 18:09:47