• 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 编译项目,然后启动程序进行测试,如果能成功启动还能看到原来的执行效果,那么项目多模块的重构就完成了。

  • 相关阅读:
    poj-2888-矩阵+polya
    hdu-2865-polya+dp+矩阵+euler函数
    poj-2154-polya+euler函数
    poj-1026-置换
    poj-2369-置换
    2017.2.15 开涛shiro教程-第二十一章-授予身份与切换身份(二) controller
    2017.2.13 开涛shiro教程-第十二章-与Spring集成(二)shiro权限注解
    2017.2.13 开涛shiro教程-第十二章-与Spring集成(一)配置文件详解
    2017.2.12 开涛shiro教程-第八章-拦截器机制
    2017.2.12 开涛shiro教程-第七章-与Web集成
  • 原文地址:https://www.cnblogs.com/qf-dd/p/10281215.html
Copyright © 2020-2023  润新知