SSM 框架,各层文件划分,和业务划分

pujitan978 2019-03-19 09:01:01
springmvc+spring+mybaits框架,刚接触这个框架,文件划分,业务划分不太清楚。
1)controler层class文件怎么划分,一个页面一个controller吗?哪些处理要写在controller层?

2)Service层class文件如何划分,一个controller对应一个service class吗,还是一个表一个service class文件,
还是也是以页面为单位划分?哪些处理要写在service层?

3)dao层,一个表一个文件是这样的吧?

4)service层class 文件能互相注入吗?一个service class类作为另一个service的成员?

...全文
674 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
nnnnyyyy 2020-03-23
  • 打赏
  • 举报
回复
ORM 框架Bee 使用的人多吗?
abckingaa 2019-11-21
  • 打赏
  • 举报
回复
引用 8 楼 zhiluan7665 的回复:
bean一个表一个,联合的用映射关系。 dao一个表一个 service 一个表一个 controler 一个画面一个,也可以按机能划分。
这种是很旧的设计方式了. 新的方式: 1) 实体: 一个表对应一个Javabean; 2) Dao: 多个表都可以不另外写dao, dao 可共用,由框架负责 (如交由ORM 框架Bee负责) 3) Service: 有业务逻辑, 一个表,对应一个; 只是数据的Suid( select , update, insert,delete)操作, 可以共用(如交由ORM 框架Bee负责) 4) Controller: 一个表一个Controller
zhiluan7665 2019-08-16
  • 打赏
  • 举报
回复
bean一个表一个,联合的用映射关系。 dao一个表一个 service 一个表一个 controler 一个画面一个,也可以按机能划分。
abckingaa 2019-04-02
  • 打赏
  • 举报
回复
确切的说Hibernate或mybatis,想要多个service 对应一个dao确实很难. 但用Bee去是没有问题的.
abckingaa 2019-03-23
  • 打赏
  • 举报
回复
引用 4 楼 鸣鸣Amadues 的回复:
Controller是前端的,一般是跟着界面的
Service类是根据业务划分的
数据库交互层比如DAO,一个表对应一个类
这三层的Class怎么互相对应和组合看你怎么设计,需要做转换和匹配。


你都没看怎么知道不行呢? 编码复杂度 类似时间复杂度, 时间复杂度是O(n)的,一样有人可以写出是O(1)的代码出来.
连最简单的单表查改增删操作,也要一个表对应一个dao那此不是浪费时间. 但一个表或视图生成一个javabean是必要的,dao测没必要.
开拓者Amadues 2019-03-22
  • 打赏
  • 举报
回复
引用 3 楼 abckingaa 的回复:
一个表一个Dao, 那是老式的设计方式,编码复杂度是O(n). 其实80%的表都可以只共用一个dao. 可以参考下: https://gitee.com/automvc/bee 另外编码复杂度,这里有说明: https://blog.csdn.net/abckingaa/article/details/84557437
是不是dao层无所谓,如果你想用一个动态属性的类去接受和传递所有表的数据,这不太可行的,代码写起来复杂又容易出错。 其实跟数据库表对应的类可以用代码生成的,也不会有多麻烦的。
开拓者Amadues 2019-03-22
  • 打赏
  • 举报
回复
Controller是前端的,一般是跟着界面的 Service类是根据业务划分的 数据库交互层比如DAO,一个表对应一个类 这三层的Class怎么互相对应和组合看你怎么设计,需要做转换和匹配。
abckingaa 2019-03-21
  • 打赏
  • 举报
回复
一个表一个Dao, 那是老式的设计方式,编码复杂度是O(n).
其实80%的表都可以只共用一个dao.
可以参考下:
https://gitee.com/automvc/bee

另外编码复杂度,这里有说明:
https://blog.csdn.net/abckingaa/article/details/84557437
stacksoverflow 2019-03-19
  • 打赏
  • 举报
回复
Controller按页面走,一个页面一个Controller。 Service按业务走,一个业务一个Controller,如果分不清页面和业务那就一个先页面一个Service,以后再归类。不要按表走。 Dao按表走,一个表一个Dao。 Service如果能不互相注入的话就不要互相注入。 如果需要互相注入的话,那把Service再进行分层,上层调用下层。比如业务Service调用外部接口Service。
小龙在线 2019-03-19
  • 打赏
  • 举报
回复
java通用项目结构、目录https://gitee.com/xiaolongzaixian/Project4J

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧