zoukankan      html  css  js  c++  java
  • Spring Boot|多模块

    简单搭了一套多模块的框架,将controller、service、dao等分成不同的模块,可以相互协作又层级间相互解耦。

    一、环境搭建

    先基于maven创建一个父级框架multimodule

     src文件夹可以删除

    在父级multimodule中的pom.xml文件中加入如下内容,这样子类就不需要再重复引用了。

     

       multimodule上右键新增一个Module,这次我们创建一个spring boot项目,common模块。

     

     

    修改common层的pom.xml文件

       使用同样的方法创建一个dao、service、web层,创建好的结构如下:

    层级架构:dao > service > web,common层同时为service、web层提供服务,修改层级间的引用关系,如下:

    multimodule层:

    web层:

    service层:

    注意下面的内容必须写在需要打包的模块里,不需要打包的模块要去掉。比如当前项目只需要出现在web模块的pom里,否则最终打包会报找不到引用模块的错误。

      

    至此,基础环境搭建完毕

     二、测试打包

    创建一个简单示例,演示运行流程。

    common

    /**
     * 测试工具类
     *
     * @author jyy
     * @since 2020/12/4 16:03
     */public class DemoUtils {
    
        public static void print(String s) {
            System.out.println(s);
        }
    }

    dao

    /**
     * 数据库交互层
     *
     * @author jyy
     * @since 2020/12/4 16:25
     */
    @Repository
    public class DemoDao {
    
        public void test() {
            System.out.print("hello dao");
        }
    }

    service

    /**
     * 逻辑层
     * @author jyy
     * @since 2020/12/4 16:27
     */
    @Service
    public class DemoService {
    
        @Resource
        private DemoDao demoDao;
    
        public void test() {
            DemoUtils.print("hello service");
            demoDao.test();
        }
    }

    web

    /**
     * 视图层
     *
     * @author jyy
     * @since 2020/12/4 16:29
     */
    @RestController
    public class DemoController {
    
        @Resource
        private DemoService demoService;
    
        @GetMapping("test")
        public void test() {
            DemoUtils.print("hello controller");
            demoService.test();
        }
    }

    运行web层,调用test方法,执行结果如下:

      整个项目,可以每层分别打包,也可以整体打包, 在multimodule层打包,涉及到的各个模块都会重新打包一遍。

  • 相关阅读:
    git线上操作
    IDEA快捷方式
    Java 四种线程池
    java 获取当前天之后或之前7天日期
    如何理解AWS 网络,如何创建一个多层安全网络架构
    申请 Let's Encrypt 通配符 HTTPS 证书
    GCE 部署 ELK 7.1可视化分析 nginx
    使用 bash 脚本把 AWS EC2 数据备份到 S3
    使用 bash 脚本把 GCE 的数据备份到 GCS
    nginx 配置 https 并强制跳转(lnmp一键安装包)
  • 原文地址:https://www.cnblogs.com/maikucha/p/14086107.html
Copyright © 2011-2022 走看看