首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

手把手教你搭个SSH框架(四)

一、背景

SSH框架的搭建中上节咋们谈到了hibernate集成最重要的部分sessionFactory的配置。关于hibernate如何工作的,我之前在小demo中也说的比较清楚,更多的咱们在项目中实践吧。

这篇文章,想跟大家说说业务代码中涉及的知识,主要是注解及xml吧。

二、代码下载地址

https://github.com/shen8332402/wechatServer.git

三、项目中涉及的注解

1.“模块大注解”

① @Controller/@RestController

这两个注解就是标注一个类是springmvc中的控制器类。关于他们的差距,说白了就是:@RestController=@Controller+@ResponseBody。

②@Service(value="TestServiceImpl")

这个注解就是标注一个类是service服务类。然后就是这个注解有个属性叫value,可以给这个类起一个新的名字。很多朋友可能会问service与dao到底什么有什么区别与联系。我在这里简单谈一下,说的不好私信吐槽哈。

我个人觉得所谓service层与dao层并没有本质区别。我们完全可以把dao层的代码写在service层,也完全可以不要service层直接写dao层。为什么要分开?我们希望每个模块有自己独立的功能。而service与dao功能的主要差别就是service层更多的处理与数据服务相关的代码,比如处理数据。而dao层更多的处理与数据仓库有关的代码,比如从数据库中取数据这样的操作。如此来实现mvc架构分层。所以后来其实dao有一个更优雅的名字叫Repository(仓库)(不知道它的朋友,往下看)

③@Repository(value="TestDaoImpl")

关于dao层的注解,就是这个注解啦。看这个注解就可以很明白的体会,为啥dao叫做数据访问层了(所谓数据访问层就是数据的仓库啦)。同样我在这里添加了value属性,方便重命名。

这三个注解是非常重要的是在spring中用在类上的三个注解,大家务必多注意。

其实说到这里有的朋友也许会问实体类注解不也是用在类上的注解吗?即@Entity。确实,这个注解是用在实体类上,供spring与hibernate注入使用的。为什么我在这里没说呢?

其实是这样的,我本人并不喜欢这个注解,如果使用这个注解,就需要对这个类里面的属性一一注解(属性太多不容易记,看着也不是很方便)关于实体类的注入,我选择了.hbm.xml的方式配置。具体如何配置大家个看自己喜好了。

2.*.hbm.xml配置

这个文件的配置就是代替@Entity注解的。下面我给出了一个简单配置,更多详细配置咱们项目中见到再说啦。

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

关于xml配置还是@Entity的配置方式,真是仁者见仁智者见智,这里我不多做评论,大家各看喜好吧。

五、总结

这篇文章主要讲了几个重要的注解及hibernate配置文件的事。东西不多,关键是那几个重要的注解。至于我为什么要刻意指定名字,看我的下一篇文章吧。我们慢慢一起学。

求关注,求赞,谢谢各位老铁啦。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180607G0CIN200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券