前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[Maven进阶]聚合和继承

[Maven进阶]聚合和继承

原创
作者头像
十八岁讨厌编程
发布于 2022-12-10 10:36:43
发布于 2022-12-10 10:36:43
878023
代码可运行
举报
运行总次数:23
代码可运行

@TOC

我们的项目已经从以前的单模块,变成了现在的多模块开发。项目一旦变成了多模块开发以后,就会引发一些问题,在这一节中我们会介绍两个内容聚合继承,用这两个知识来解决下分模块后的一些问题。

聚合

在这里插入图片描述
在这里插入图片描述
  • 分模块开发后,需要将这四个项目都安装到本地仓库,目前我们只能通过项目Maven面板的install来安装,并且需要安装四个,如果我们的项目足够多,那么一个个安装起来还是比较麻烦的
  • 如果四个项目都已经安装成功,当ssm_pojo发生变化后,我们就得将ssm_pojo重新安装到maven仓库,但是为了确保我们对ssm_pojo的修改不会影响到其他项目模块,我们需要对所有的模块进行重新编译,那又需要将所有的模块再来一遍

项目少的话还好,但是如果项目多的话,一个个操作项目就容易出现漏掉或重复操作的问题,所以我们就想能不能抽取一个项目,把所有的项目管理起来,以后我们要想操作这些项目,只需要操作这一个项目,其他所有的项目都走一样的流程,这个不就很省事省力。

这就用到了我们接下来要讲解的==聚合==,

  • 所谓聚合:将多个模块组织成一个整体,同时进行项目构建的过程称为聚合
  • 聚合工程:通常是一个不具有业务功能的"空"工程(有且仅有一个pom文件)
  • 作用:使用聚合工程可以将多个工程编组,通过对聚合工程进行构建,实现对所包含的模块进行同步构建
    • 当工程中某个模块发生更新(变更)时,必须保障工程中与已更新模块关联的模块同步更新,此时可以使用聚合工程来解决批量模块同步构建的问题。

关于聚合具体的实现步骤为:

步骤1:创建一个空的maven项目

在这里插入图片描述
在这里插入图片描述

步骤2:将项目的打包方式改为pom

代码语言:html
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>maven_01_parent</artifactId>
    <version>1.0-RELEASE</version>
    <packaging>pom</packaging>
    
</project>

说明:项目的打包方式,我们接触到的有三种,分别是

  • jar:默认情况,说明该项目为java项目
  • war:说明该项目为web项目
  • pom:说明该项目为聚合或继承(后面会讲)项目

步骤3:pom.xml添加所要管理的项目

代码语言:html
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>maven_01_parent</artifactId>
    <version>1.0-RELEASE</version>
    <packaging>pom</packaging>
    
    <!--设置管理的模块名称-->
    <modules>
        <module>../maven_02_ssm</module>
        <module>../maven_03_pojo</module>
        <module>../maven_04_dao</module>
    </modules>
</project>

步骤4:使用聚合统一管理项目

在这里插入图片描述
在这里插入图片描述

测试发现,当maven_01_parentcompile被点击后,所有被其管理的项目都会被执行编译操作。这就是聚合工程的作用。

说明:聚合工程管理的项目在进行运行的时候,会按照项目与项目之间的依赖关系来自动决定执行的顺序和配置的顺序无关。

聚合工程主要是用来管理项目

继承

我们已经完成了使用聚合工程去管理项目,聚合工程进行某一个构建操作,其他被其管理的项目也会执行相同的构建操作。那么接下来,我们再来分析下,多模块开发存在的另外一个问题,重复配置的问题,我们先来看张图:

在这里插入图片描述
在这里插入图片描述
  • spring-webmvcspring-jdbc在三个项目模块中都有出现,这样就出现了重复的内容
  • spring-test只在ssm_crm和ssm_goods中出现,而在ssm_order中没有,这里是部分重复的内容
  • 我们使用的spring版本目前是5.2.10.RELEASE,假如后期要想升级spring版本,所有跟Spring相关jar包都得被修改,涉及到的项目越多,维护成本越高

面对上面的这些问题,我们就得用到接下来要学习的==继承==

  • 所谓继承:描述的是两个工程间的关系,与java中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承。
  • 作用:
    • 简化配置
    • 减少版本冲突

接下来,我们到程序中去看看继承该如何实现?

步骤1:创建一个空的Maven项目并将其打包方式设置为pom

因为这一步和前面maven创建聚合工程的方式是一摸一样,所以我们可以单独创建一个新的工程,也可以直接和聚合公用一个工程。实际开发中,聚合和继承一般也都放在同一个项目中,但是这两个的功能是不一样的。

步骤2:在子项目中设置其父工程

分别在maven_02_ssm,maven_03_pojo,maven_04_dao的pom.xml中添加其父项目为maven_01_parent

代码语言:html
AI代码解释
复制
<!--配置当前工程继承自parent工程-->
<parent>
    <groupId>com.itheima</groupId>
    <artifactId>maven_01_parent</artifactId>
    <version>1.0-RELEASE</version>
    <!--设置父项目pom.xml位置路径-->
    <relativePath>../maven_01_parent/pom.xml</relativePath>
</parent>

步骤3:优化子项目共有依赖导入问题

  1. 将子项目共同使用的jar包都抽取出来,维护在父项目的pom.xml中
代码语言:html
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>maven_01_parent</artifactId>
    <version>1.0-RELEASE</version>
    <packaging>pom</packaging>
    
    <!--设置管理的模块名称-->
    <modules>
        <module>../maven_02_ssm</module>
        <module>../maven_03_pojo</module>
        <module>../maven_04_dao</module>
    </modules>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.0</version>
        </dependency>
    </dependencies>
</project>
  1. 删除子项目中已经被抽取到父项目的pom.xml中的jar包,如在maven_02_ssm的pom.xml中将已经出现在父项目的jar包删除掉
代码语言:html
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.itheima</groupId>
  <artifactId>maven_02_ssm</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <!--配置当前工程继承自parent工程-->
  <parent>
    <groupId>com.itheima</groupId>
    <artifactId>maven_01_parent</artifactId>
    <version>1.0-RELEASE</version>
    <relativePath>../maven_01_parent/pom.xml</relativePath>
  </parent>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>com.itheima</groupId>
      <artifactId>maven_04_dao</artifactId>
      <version>1.0-SNAPSHOT</version>
      <!--排除依赖是隐藏当前资源对应的依赖关系-->
      <exclusions>
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <port>80</port>
          <path>/</path>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

删除完后,你会发现父项目中有依赖对应的jar包,子项目虽然已经将重复的依赖删除掉了,但是刷新的时候,子项目中所需要的jar包依然存在。

当项目的<parent>标签被移除掉,会发现多出来的jar包依赖也会随之消失。

  1. maven_04_dao项目的pom.xml中的所有依赖删除,然后添加上maven_01_parent的父项目坐标
代码语言:html
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>maven_04_dao</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--配置当前工程继承自parent工程-->
    <parent>
        <groupId>com.itheima</groupId>
        <artifactId>maven_01_parent</artifactId>
        <version>1.0-RELEASE</version>
        <relativePath>../maven_01_parent/pom.xml</relativePath>
    </parent>
</project>

刷新并查看Maven的面板,会发现maven_04_dao同样引入了父项目中的所有依赖。

在这里插入图片描述
在这里插入图片描述

这样我们就可以解决刚才提到的第一个问题,将子项目中的公共jar包抽取到父工程中进行统一添加依赖,这样做的可以简化配置,并且当父工程中所依赖的jar包版本发生变化,所有子项目中对应的jar包版本也会跟着更新。

在这里插入图片描述
在这里插入图片描述

步骤4:优化子项目依赖版本问题

如果把所有用到的jar包都管理在父项目的pom.xml,看上去更简单些,但是这样就会导致有很多项目引入了过多自己不需要的jar包。如上面看到的这张图:

在这里插入图片描述
在这里插入图片描述

如果把所有的依赖都放在了父工程中进行统一维护,就会导致ssm_order项目中多引入了spring-test的jar包,如果这样的jar包过多的话,对于ssm_order来说也是一种"负担"。

那针对于这种部分项目有的jar包,我们该如何管理优化呢?

  1. 在父工程mavne_01_parent的pom.xml来定义依赖管理
代码语言:html
AI代码解释
复制
<!--定义依赖管理-->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
  1. 将maven_02_ssm的pom.xml中的junit依赖删除掉,刷新Maven
在这里插入图片描述
在这里插入图片描述

刷新完会发现,在maven_02_ssm项目中的junit依赖并没有出现,所以我们得到一个结论:

==<dependencyManagement>标签不真正引入jar包,而是配置可供子项目选择的jar包依赖==

子项目要想使用它所提供的这些jar包,需要自己添加依赖,并且不需要指定<version>

  1. 在maven_02_ssm的pom.xml添加junit的依赖
代码语言:html
AI代码解释
复制
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
</dependency>

注意:这里就不需要添加版本了,这样做的好处就是当父工程dependencyManagement标签中的版本发生变化后,子项目中的依赖版本也会跟着发生变化

  1. 在maven_04_dao的pom.xml添加junit的依赖
代码语言:html
AI代码解释
复制
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <scope>test</scope>
</dependency>

这个时候,maven_02_ssm和maven_04_dao这两个项目中的junit版本就会跟随着父项目中的标签dependencyManagement中junit的版本发生变化而变化。不需要junit的项目就不需要添加对应的依赖即可。

至此继承就已经学习完了,总结来说,继承可以帮助做两件事

  • 将所有项目公共的jar包依赖提取到父工程的pom.xml中,子项目就可以不用重复编写,简化开发
  • 将所有项目的jar包配置到父工程的dependencyManagement标签下,实现版本管理,方便维护
    • ==dependencyManagement标签不真正引入jar包,只是管理jar包的版本==
    • 子项目在引入的时候,只需要指定groupId和artifactId,不需要加version
    • 当dependencyManagement标签中jar包版本发生变化,所有子项目中有用到该jar包的地方对应的版本会自动随之更新

最后总结一句话就是,父工程主要是用来快速配置依赖jar包和管理项目中所使用的资源

小结

继承的实现步骤:

  • 创建Maven模块,设置打包类型为pom

<packaging>pom</packaging>

  • 在父工程的pom文件中配置依赖关系(子工程将沿用父工程中的依赖关系),一般只抽取子项目中公有的jar包

<dependencies>

代码语言:txt
AI代码解释
复制
  <dependency>
代码语言:txt
AI代码解释
复制
      <groupId>org.springframework</groupId>
代码语言:txt
AI代码解释
复制
      <artifactId>spring-webmvc</artifactId>
代码语言:txt
AI代码解释
复制
      <version>5.2.10.RELEASE</version>
代码语言:txt
AI代码解释
复制
  </dependency>
代码语言:txt
AI代码解释
复制
  ...

</dependencies>

  • 在父工程中配置子工程中可选的依赖关系

<dependencyManagement>

代码语言:txt
AI代码解释
复制
  <dependencies>
代码语言:txt
AI代码解释
复制
      <dependency>
代码语言:txt
AI代码解释
复制
          <groupId>com.alibaba</groupId>
代码语言:txt
AI代码解释
复制
          <artifactId>druid</artifactId>
代码语言:txt
AI代码解释
复制
          <version>1.1.16</version>
代码语言:txt
AI代码解释
复制
      </dependency>
代码语言:txt
AI代码解释
复制
  </dependencies>
代码语言:txt
AI代码解释
复制
  ...

</dependencyManagement>

  • 在子工程中配置当前工程所继承的父工程

<!--定义该工程的父工程-->

<parent>

代码语言:txt
AI代码解释
复制
  <groupId>com.itheima</groupId>
代码语言:txt
AI代码解释
复制
  <artifactId>maven_01_parent</artifactId>
代码语言:txt
AI代码解释
复制
  <version>1.0-RELEASE</version>
代码语言:txt
AI代码解释
复制
  <!--填写父工程的pom文件,可以不写-->
代码语言:txt
AI代码解释
复制
  <relativePath>../maven_01_parent/pom.xml</relativePath>

</parent>

  • 在子工程中配置使用父工程中可选依赖的坐标

<dependencies>

代码语言:txt
AI代码解释
复制
  <dependency>
代码语言:txt
AI代码解释
复制
      <groupId>com.alibaba</groupId>
代码语言:txt
AI代码解释
复制
      <artifactId>druid</artifactId>
代码语言:txt
AI代码解释
复制
  </dependency>

</dependencies>

注意事项:

1.子工程中使用父工程中的可选依赖时,仅需要提供群组id和项目id,无需提供版本,版本由父工程统一提供,避免版本冲突

2.子工程中还可以定义父工程中没有定义的依赖关系,只不过不能被父工程进行版本统一管理。

聚合与继承

聚合与继承的区别

两种之间的作用:

  • 聚合用于快速构建项目,对项目进行管理
  • 继承用于快速配置和管理子项目中所使用jar包的版本

聚合和继承的相同点:

  • 聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中
  • 聚合与继承均属于设计型模块,并无实际的模块内容

聚合和继承的不同点:

  • 聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些
  • 继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

IDEA构建聚合与继承工程

相信到这里,大家已经能区分开什么是聚合和继承,但是有一个稍微麻烦的地方就是聚合和继承的工程构建,需要在聚合项目中手动添加modules标签,需要在所有的子项目中添加parent标签,万一写错了咋办?其实对于聚合和继承工程的创建,IDEA已经能帮助我们快速构建,具体的实现步骤为:

步骤1:创建一个Maven项目

创建一个空的Maven项目,可以将项目中的src目录删除掉,这个项目作为聚合工程和父工程。

在这里插入图片描述
在这里插入图片描述

步骤2:创建子项目

该项目可以被聚合工程管理,同时会继承父工程。

在这里插入图片描述
在这里插入图片描述

创建成功后,maven_parent即是聚合工程又是父工程,maven_web中也有parent标签,继承的就是maven_parent,对于难以配置的内容都自动生成。

按照上面这种方式,大家就可以根据自己的需要来构建分模块项目。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
5 条评论
热度
最新
goooood
goooood
回复回复1举报
有一行代码很靓哦 woshinidie666
有一行代码很靓哦 woshinidie666
回复回复点赞举报
这数据采集背后全是努力的成果,搞这么强
这数据采集背后全是努力的成果,搞这么强
11点赞举报
很受用哥,不过在你面前只能是弟弟
很受用哥,不过在你面前只能是弟弟
回复回复点赞举报
看着很不错
看着很不错
回复回复点赞举报
推荐阅读
使用 Spring Boot + Vue + ElementUI 构建简易评分系统
在这篇博客中,我将带领大家一步一步地构建一个简易评分系统。这个项目会使用 Spring Boot 作为后端,Vue 作为前端框架,并结合 ElementUI 提供用户界面的组件。我们将详细介绍项目的设计思路和实现过程,并在此过程中学习如何将这些技术整合在一起。请系好安全带,准备好一起探索这个有趣的项目吧!
繁依Fanyi
2024/07/27
3440
Python项目45-前后端分离Home主页及后台(开撸)
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
6080
Python项目45-前后端分离Home主页及后台(开撸)
三种方式实现轮播图功能
使用position的绝对定位与相对定位实现轮播图,首先将图片全部拼接成为一行,使用overflow: hidden;将其他图片隐藏,将这一行图片加入定时任务不断进行左移,从而只显示中间的图片,对于边缘特殊处理,将第一张轮播图追加到一行图片之后,当切换到最后一张轮播图时,下一张即播放第一张图,当此图轮播完成后,将所有图片归位,提供两个DEMO,第一个是单纯的轮播不存在任何控制按钮,第二个则比较完善。
WindRunnerMax
2020/08/27
2K0
Element-UI快速入门
https://element.eleme.cn/#/zh-CN/component/installation
陶然同学
2023/02/24
4.4K0
Element-UI快速入门
我与数据库的十年 | 从MySQL到TencentDB,带你实现数据治理平台
在观看腾讯云开发者社区打造的纪录片《中国数据库前世今生》时,了解了中国数据库从无到有、破茧化蝶的发展历程。在充满感动和感慨之余,让我不仅想起了在这十年里,被数据库影响的程序员人生。
叫我阿柒啊
2024/08/13
7978
我与数据库的十年 | 从MySQL到TencentDB,带你实现数据治理平台
Vue3入门笔记八----实现首页的展示内容
这个系列的笔记重点会放在怎么样利用Vue3把项目架设起来并跟后端API互动,不会介绍Vue的基础特性,关于Vue的基础特性可以参考这个视频四个小时带你快速入门Vue,我是看这个入门的,觉得还不错。
panzhixiang
2024/10/30
1820
基于SpringBoot打造在线教育系统(6)-- 二级分类模块UI篇
这一节来做二级分类,为了快速开发,一级分类只做新增,暂时不考虑修改和删除,如果一定要删,就去数据库删吧。
剽悍一小兔
2021/01/14
5060
基于SpringBoot打造在线教育系统(6)-- 二级分类模块UI篇
vue3后台管理系统(模板)
本篇文章主要介绍使用element-plus进行页面的布局和数据展示处理,后续笔记将继续分享和介绍动态路由菜单的处理,以及用户权限的动态校验。(。・・)ノ
前端小tips
2021/11/25
5K0
vue3后台管理系统(模板)
vue-d2admin前端axio异步请求详情
vue-d2admin前端axio异步请求详情 d2admin>src>api>sys.login.js 设计axio api import request from '@/plugin/axios' export function AccountLogin (data) { return request({ url: '/login', method: 'post', data }) } d2admin>src>store>d2admin>modules>account.
landv
2019/07/02
1.2K0
从零开始学 Web 之 移动Web(九)微金所案例
相关源代码已放置github:https://github.com/Daotin/Web/blob/master/Code/src/11/wjs.zip
Daotin
2018/08/31
1.6K0
从零开始学 Web 之 移动Web(九)微金所案例
源计划-方舟:页脚边框
页脚、顶栏、菜单栏、加载动画之间的风格牵扯较多,所以我得把他们都写好了才开始发教程。源计划:方舟的风格是很明显的套件,所以我觉得应该是要装就全部装上才好的对吧。
Akilar
2023/02/06
8110
Vue写一些试题样式
Vue写一些试题样式 闲暇之余写点关于考试试题的页面信息,希望对大家有所帮助!直接上代码和效果图: 代码附在下方: <template> <el-col class="paper"> <el-row :gutter="24"> <!-- 左侧 --> <el-col :span="4" :xs="24"> <el-card class="type_list"> <div style="padding-bottom: 2
猫老师的叶同学
2023/03/25
7470
Vue写一些试题样式
【Java 进阶篇】手把手教你创建 Bootstrap 旅游网站
随着互联网的普及,旅游行业在全球范围内迅速发展。人们通过网络规划、预订和分享他们的旅行经历。因此,拥有一个令人印象深刻的旅游网站对于吸引游客和提供有用信息至关重要。在本篇博客中,我们将手把手教您如何创建一个令人兴奋的旅游网站,使用流行的前端框架 Bootstrap 来简化整个过程。
繁依Fanyi
2023/10/23
5780
【Java 进阶篇】手把手教你创建 Bootstrap 旅游网站
给 el-card 添加折叠功能
虽然 Element 也有 el-collapse 组件,但是当我只想写一个折叠面板时,它的写法就略显繁琐了,el-card 组件的样式也更符合我的需求,所以我就想着给 el-card 添加折叠功能。
Cell
2024/01/11
1.2K0
后台数据管理系统 - 项目架构设计【黑马程序员】
在线演示:https://fe-bigevent-web.itheima.net/login
HelloWorldZ
2024/03/20
1.3K0
后台数据管理系统 - 项目架构设计【黑马程序员】
【学生管理系统】用户管理之用户登录
<template>  <nuxt/> </template> ​ <script> export default { ​ } </script> ​ <style> ​ </style>
陶然同学
2023/02/24
1.8K0
【学生管理系统】用户管理之用户登录
【学生管理系统】班级管理
<template>  <el-card class="classes-add-card">    <el-form ref="form" :model="classes" label-width="100px">      <el-form-item label="班级ID">        <el-input v-model="classes.cid"></el-input>      </el-form-item>      <el-form-item label="班级名称">        <el-input v-model="classes.cname"></el-input>      </el-form-item>      <el-form-item label="选择老师">        <el-select v-model="classes.teacherIds" multiple placeholder="请选择老师" style="width: 100%">          <el-option v-for="(teacher,index) in teacherList" :key="index" :label="teacher.tname" :value="teacher.tid"></el-option>        </el-select>      </el-form-item>      <el-form-item label="授课老师">      </el-form-item>      <el-form-item label="助理老师">      </el-form-item>      <el-form-item label="辅导员老师">      </el-form-item>      <el-form-item>        <el-button type="primary">添加</el-button>        <el-button>重置</el-button>      </el-form-item>    </el-form>    {{classes}}  </el-card> </template> ​ <script> export default {  data() {    return {      classes: {        teacherIds: []      //选择的所有老师     },      teacherList: [],      //老师列表   } },  methods: {    async findAllTeacher() {      let { data:baseResult } = await this.$axios.get('/classes-service/teacher')      // 获得结果      this.teacherList = baseResult.data   } },  mounted() {    //查询所有的老师    this.findAllTeacher() }, } </script> ​ <style>  .classes-add-card {    width: 500px; } </style>
陶然同学
2023/02/24
3K0
【学生管理系统】班级管理
Vue前台可以生成二维码了,您还在用后台生成吗?
  简介:维码现在已经随处可见了,现在的生活中各种二维码呈现在大家面前,方便大家手机或者手持枪等手持设备进行识别,同时用来标识当前商品或者物品的唯一性。 我们在工业等生产制造业用到的二维码更多,像部品、BOM组件等等。 所以我们无论是做BS开发或者客户端开发,有时用到生成二维码的时候还是比较多的。 以前用java或者.net等后端语言进行生成,前台其实也是可以生成二维码,今天我们看一下vue前台生成二维码。
十分钟空间
2022/08/17
8550
用例新增、编辑页面
流年Felix
2023/08/28
3490
vue创建备忘录
首先是先把需要导入的js文件,这里是main.js, 这里面引入的axios,element-ui等依赖都可以通过vue ui里面进行下载。
GeekLiHua
2025/01/21
680
vue创建备忘录
推荐阅读
相关推荐
使用 Spring Boot + Vue + ElementUI 构建简易评分系统
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • 聚合
    • 步骤1:创建一个空的maven项目
    • 步骤2:将项目的打包方式改为pom
    • 步骤3:pom.xml添加所要管理的项目
    • 步骤4:使用聚合统一管理项目
  • 继承
    • 步骤1:创建一个空的Maven项目并将其打包方式设置为pom
    • 步骤2:在子项目中设置其父工程
    • 步骤3:优化子项目共有依赖导入问题
    • 步骤4:优化子项目依赖版本问题
  • 聚合与继承
    • 聚合与继承的区别
    • IDEA构建聚合与继承工程
      • 步骤1:创建一个Maven项目
      • 步骤2:创建子项目
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验