在Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,常见的就是分为model(域模型层)、dao(数据库访问层)、service(业务逻辑层)、controller(控制器层)、web(表现层),这样分层之后,各个层之间的职责会比较明确,后期维护起来也相对比较容易。
前面我们开发都是在一个模块中,把不同的层以包来区分,如下:
1、创建SpringBoot项目
结构为:
1
代码分别是:
public class User {
private String username;
private String password;
private String realname;
...省略get\set 构造方法
}
Repository
public class UserDAO {
public List
return Arrays.asList(new User("zhangsan","111","张三"),
new User("lisi","111","李四"),
new User("wangwu","111","王五"));
}
}
Service
public class UserService {
Resource
private UserDAO userDAO;
public List
return userDAO.selectAllUsers();
}
}
页游http://www.coubai.comController
RequestMapping("/user")
public class UserController {
Resource
private UserService userService;
RequestMapping("/list")
ResponseBody
public String list(){
List
StringBuilder stringBuilder = new StringBuilder();
for(User user :allUsers){
stringBuilder.append("
姓名:");
stringBuilder.append(user.getRealname());
stringBuilder.append("
");
}
return stringBuilder.toString();
}
}
SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
启动项目,测试
0
多模块开发:
随着项目越来越复杂,每个层的规模也逐渐增大,在一个模块中进行开发,会给测试和维护带来不便,对于大型项目来说,一般会将每个层放到自己的模块中,然后每个层建立联系,单独维护。
下面我们将会把前面的单模块项目重构为多模块项目:
页游项目分为4个模块
controller
service
dao
model
模块间依赖关系是
controller依赖service和model
service依赖dao和model
dao依赖model
重构多模块项目
1、首先选择项目的pom.xml,将打包方式改为pom
2、新建model模块:
项目右键——>New——>Module——>选择maven ——> Next
2
输入模块名称model ——> Next ——> Finish
3
项目的pom.xml中会出现:
这就是模块创建完成了
然后将原来项目中model的包整个复制到model模块的java目录下:
3、新建dao模块,过程和前面类似
新建完成后,代码会报错,因为找不到User类,原因是dao模块还没有添加model模块的依赖
添加依赖,在dao模块的pom.xml中添加
4、添加controller模块
添加依赖:然后把原来项目的DemoApplication类复制到controller模块java目录下的基础包下,本例是com.qianfeng.springboot
5、点击Build Project 编译项目,然后启动程序进行测试,如果能成功启动还能看到原来的执行效果,那么项目多模块的重构就完成了。