框架,idea整合restful风格的ssm框架(二)"/>
java后端btt框架,idea整合restful风格的ssm框架(二)
1. 前言
在这里的就不多啰嗦什么了,先来大概介绍一下项目的体系结构等。还是上张图
项目结构.png
整体架构是ssm的前面已经说过了,下面来说一下代码的架构。因为目前项目的规划还比较小,所以在com.bgy.ssm包下面就直接建了controller、service等。如果项目情况较复杂的话,在此包应该根据功能模块来进行分包,然后再建立相应的三层,这样的话结构更清晰。
在这里有个争论:关于到底要不要repo层的问题
有人赞成的是直接controller中接收用户请求,调用service处理业务逻辑,然后所有的组装数据也是在service中完成,最后service直接调用dao接口。
另外有人赞成的是service中只处理业务逻辑;对于数据的组装,如操作多表时要调用dao层的多个接口时,应该在repo层中完成,这样不会使service层显得太过臃肿,并且能提高可复用性和符合设计原则中 “针对接口编程,不针对实现编程”的理念。
在这里我个人的话更倾向于后者,service层更注重的应该是处理业务逻辑,不能因为实现某个功能而在service中一个方法写一堆组装数据的代码。当然这是我个人的愚见,若有高见,欢迎指正。
在这里这个项目较小,也是从新手角度出发,所以我违心的使用了controller、service、dao的三层架构。这样思路较简单和清晰。
另外说明一点,下面的代码中都有相关引用,使用时自行引入相关引用
2. 数据库
这里为了演示功能和架构,我就只使用一张表来实现操作。在这里,我建议在项目下建立sql文件夹,里面放置建表的语句,方便以后查阅和修改。
sql.png
上面是建表语句文件、下面是有些表需要进行初始化的初始化语句文件。
db_ddl.sql
DROP TABLE IF EXISTS `tUser`;
CREATE TABLE `tUser` (
`ID` VARCHAR (45) NOT NULL ,
`UserName` VARCHAR (100) ,
`NickName` VARCHAR (100),
`PassWord` CHAR (32),
`Email` VARCHAR (50),
`Phone` VARCHAR (50),
`Sex` ENUM('S_MALE','S_FEMALE','S_BM'),
`Status` ENUM('S_OFF','S_NORMAL'),
`Avatar` VARCHAR (100),
`Remarks` VARCHAR (200),
`AddAt` BIGINT,
PRIMARY KEY (`ID`)
) DEFAULT CHARSET=utf8;
这里没有写备注和null这些的规范,需要的可自行添加。
(后续添加:在这里的表名和字段名在下一篇文章中进行了修改,原因可翻看下一篇文章)
3. 实体类
在这里为了简便、我就建表完成后直接建立实体类User。
User.java
public class User {
private String id;
private String userName;
private String nickName;
private String password;
private String email;
private String phone;
private String sex;
private String status;
private String avatar;
private String remarks;
private Long addAt;
public User(){
}
public User genarateID() {
if (this.id == null) {
this.id = UUID.randomUUID().toString();
}
return this;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
pub
更多推荐
java后端btt框架,idea整合restful风格的ssm框架(二)
发布评论