zoukankan      html  css  js  c++  java
  • java培训学习路线图之SpringBoot多模块开发学习

    在Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,常见的就是分为model(域模型层)、dao(数据库访问层)、service(业务逻辑层)、controller(控制器层)、web(表现层),这样分层之后,各个层之间的职责会比较明确,后期维护起来也相对比较容易。

    前面我们开发都是在一个模块中,把不同的层以包来区分,如下:

    1、创建SpringBoot项目

    结构为:

    代码分别是:

    public class User {

    private String username;

    private String password;

    private String realname;

    ...省略getset 构造方法

    }

    @Repository

    public class UserDAO {

    public List<User> selectAllUsers(){

    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<User> findAllUsers(){

    return userDAO.selectAllUsers();

    }

    }

    @Controller

    @RequestMapping("/user")

    public class UserController {

    @Resource

    private UserService userService;

    @RequestMapping("/list")

    @ResponseBody

    public String list(){

    List<User> allUsers = userService.findAllUsers();

    StringBuilder stringBuilder = new StringBuilder();

    for(User user :allUsers){

    stringBuilder.append("<p>姓名:");

    stringBuilder.append(user.getRealname());

    stringBuilder.append("</p>");

    }

    return stringBuilder.toString();

    }

    }

    @SpringBootApplication

    public class DemoApplication {

    public static void main(String[] args) {

    SpringApplication.run(DemoApplication.class, args);

    }

    }

    启动项目,测试

    多模块开发:

    随着项目越来越复杂,每个层的规模也逐渐增大,在一个模块中进行开发,会给测试和维护带来不便,对于大型项目来说,一般会将每个层放到自己的模块中,然后每个层建立联系,单独维护。

    下面我们将会把前面的单模块项目重构为多模块项目:

    项目分为4个模块

    controller

    service

    dao

    model

    模块间依赖关系是

    controller依赖service和model

    service依赖dao和model

    dao依赖model

    重构多模块项目

    1、首先选择项目的pom.xml,将打包方式改为pom

    <packaging>pom</packaging>

    2、新建model模块:

    项目右键——>New——>Module——>选择maven ——> Next

    输入模块名称model ——> Next ——> Finish

    项目的pom.xml中会出现:

    <modules>

    <module>model</module>

    </modules>

    这就是模块创建完成了

    然后将原来项目中model的包整个复制到model模块的java目录下:

    3、新建dao模块,过程和前面类似

    新建完成后,代码会报错,因为找不到User类,原因是dao模块还没有添加model模块的依赖

    添加依赖,在dao模块的pom.xml中添加

    <dependencies>

    <dependency>

    <groupId>com.qianfeng.springboot</groupId>

    <version>0.0.1-SNAPSHOT</version>

    <artifactId>model</artifactId>

    </dependency>

    </dependencies>

    4、再添加service模块

    添加依赖:

    <dependencies>

    <dependency>

    <groupId>com.qianfeng.springboot</groupId>

    <artifactId>dao</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    </dependency>

    <dependency>

    <groupId>com.qianfeng.springboot</groupId>

    <artifactId>model</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    </dependency>

    </dependencies>

    5、添加controller模块

    添加依赖:

    <dependencies>

    <dependency>

    <groupId>com.qianfeng.springboot</groupId>

    <artifactId>service</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    </dependency>

    <dependency>

    <groupId>com.qianfeng.springboot</groupId>

    <artifactId>model</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    </dependency>

    </dependencies>

    然后把原来项目的DemoApplication类复制到controller模块java目录下的基础包下,本例是com.qianfeng.springboot

    6、点击Build Project 编译项目,然后启动程序进行测试,如果能成功启动还能看到原来的执行效果,那么项目多模块的重构就完成了。

  • 相关阅读:
    C# 数据的序列化存取
    C# 移动端与PC端的数据交互
    C# Socket 简易的图片传输
    C# Socket学习笔记二
    C# Socket学习笔记一
    unity 小地图的制作
    Unity Layout碰撞检测
    Unity sqlite学习笔记一
    玩家信息血条及伤害值随主角移动
    C# 热水器
  • 原文地址:https://www.cnblogs.com/qf-dd/p/10281215.html
Copyright © 2011-2022 走看看