用过 Spring MVC 开发过一些项目。觉得它很好用,层次清楚,一旦搭建好框架,使用起来十分简单。
但是,由于没有经过系统的学习和牛人指点,对 Spring MVC 的理解还有很多错误。
Service 层和 DAO 层
我之前图简单,没有理解 Service 层和 DAO 层各是干什么用的。直接在 DAO 上做了一个简单的封装就是 Service 了。
实际上不是这样。
Service 层可以用来处理一些复杂的业务逻辑。比如,Controller 收集一些表单信息之后,可能要经过一些复杂的业务逻辑转换。比如根据字段生成新的对象。这些业务逻辑可以放在 Service 层面。
使用正确的标注约定
@Repository 比较适合用在 Dao 对象上。它还可以把 Unchecked Exceptions 转成 Spring DataAccessException。 – 我以前把 @Service 用在 Dao 对象上,纯属不理解。
@Service 比较适合放在 Service 对象上。尽管它目前和 @Component 对象没有什么区别
@Controller, 用于 Controller,可以和 @RequestMapping 一起用
@Autowired 和 @Resource
http://stackoverflow.com/questions/4093504/resource-vs-autowired
据说尽量不要用 @Autowired,而要用 @Resource。可以根据 name 来进行 Injection,很方便。