[JavaWeb]【十四】web后端开发-MAVEN高级

目录

一、分模块设计与开发

[1.1 分模块设计](#1.1 分模块设计)

[1.2 分模块设计-实践​编辑](#1.2 分模块设计-实践编辑)

[1.2.1 复制老项目改为spring-boot-management](#1.2.1 复制老项目改为spring-boot-management)

[1.2.2 新建maven模块runa-pojo](#1.2.2 新建maven模块runa-pojo)

[1.2.2.1 将原项目pojo复制到runa-pojo模块](#1.2.2.1 将原项目pojo复制到runa-pojo模块)

[1.2.2.2 runa-pojo引入新依赖](#1.2.2.2 runa-pojo引入新依赖)

[1.2.2.3 删除原项目pojo包](#1.2.2.3 删除原项目pojo包)

[1.2.2.4 在spring-boot-management(原项目)引入runa-pojo依赖](#1.2.2.4 在spring-boot-management(原项目)引入runa-pojo依赖)

[1.2.3 新建maven模块runa-utils](#1.2.3 新建maven模块runa-utils)

[1.2.3.1 将原项目utils复制到runa-utils模块](#1.2.3.1 将原项目utils复制到runa-utils模块)

[1.2.3.2 runa-utils引入依赖](#1.2.3.2 runa-utils引入依赖)

[1.2.3.3 spring-boot-management删除依赖](#1.2.3.3 spring-boot-management删除依赖)

[1.2.3.4 删除原项目utils包](#1.2.3.4 删除原项目utils包)

[1.2.3.5 在spring-boot-management(原项目)引入runa-utils依赖](#1.2.3.5 在spring-boot-management(原项目)引入runa-utils依赖)

[1.2.4 启动服务-测试](#1.2.4 启动服务-测试)

[1.3 总结](#1.3 总结)

二、继承与聚合

[2.1 继承](#2.1 继承)

[2.1.1 新建父工程模块runa-parent](#2.1.1 新建父工程模块runa-parent)

[2.1.2 设置runa-parent打包方式为pom](#2.1.2 设置runa-parent打包方式为pom)

[2.1.3 设置runa-parent父工程未springboot](#2.1.3 设置runa-parent父工程未springboot)

[2.1.4 删除 runa-parent的src](#2.1.4 删除 runa-parent的src)

[2.1.5 修改spring-boot-management父工程为runa-parent](#2.1.5 修改spring-boot-management父工程为runa-parent)

[2.1.6 删除 spring-boot-management提示异常的标签](#2.1.6 删除 spring-boot-management提示异常的标签)

[2.1.7 在runa-pojo与runa-utils设置父工程和删除](#2.1.7 在runa-pojo与runa-utils设置父工程和删除)

[2.1.8 在父工程runa-parent配置共有依赖](#2.1.8 在父工程runa-parent配置共有依赖)

[2.2 继承实现总结](#2.2 继承实现总结)

[2.3 版本锁定](#2.3 版本锁定)

[2.3.1 将runa-parent管理版本(子工程)](#2.3.1 将runa-parent管理版本(子工程))

[2.3.2 runa-utils依赖版本删除](#2.3.2 runa-utils依赖版本删除)

[2.3.3 自定义属性](#2.3.3 自定义属性)

[2.3.3.1 runa-parent设置版本](#2.3.3.1 runa-parent设置版本)

[2.3.3.2 总结](#2.3.3.2 总结)

[2.2 聚合](#2.2 聚合)

[2.2.1 runa-parent添加](#2.2.1 runa-parent添加)

[2.2.2 runa-parent maven生命周期进行打包等](#2.2.2 runa-parent maven生命周期进行打包等)

[2.3 总结](#2.3 总结)

三、私服

[3.1 介绍](#3.1 介绍)

[3.2 资源上传与下载](#3.2 资源上传与下载)

[3.3 私服配置](#3.3 私服配置)

[3.3.1 需要在 servers 标签中,配置访问私服的个人凭证(访问的用户名和密码)](#3.3.1 需要在 servers 标签中,配置访问私服的个人凭证(访问的用户名和密码))

[3.3.2 在 mirrors 中只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉)](#3.3.2 在 mirrors 中只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉))

[3.3.3 需要在 profiles 中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用](#3.3.3 需要在 profiles 中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用)

[3.3.4 如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址)](#3.3.4 如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址))

[3.3.5 发布项目,直接运行 deploy 生命周期即可 (发布时,建议跳过单元测试)](#3.3.5 发布项目,直接运行 deploy 生命周期即可 (发布时,建议跳过单元测试))

[3.3.6 启动本地私服](#3.3.6 启动本地私服)

[3.4 上传maven生命周期-deploy](#3.4 上传maven生命周期-deploy)

[3.5 下载](#3.5 下载)


前言:

分模块设计开发是一种软件开发方法论,它将一个大型的软件系统按照不同的功能模块进行划分,每个模块独立设计、独立开发、独立测试、独立部署和独立维护。这有助于降低整个系统的复杂度,提高系统的可维护性和可扩展性。

分模块设计开发一般包含以下步骤:

  1. 确定系统的功能模块:将整个系统划分成多个不同的功能模块,如登录模块、订单模块、支付模块等。

  2. 设计每个模块的接口:在每个模块内部,设计该模块与其他模块的接口,包括输入输出参数、数据结构等。

  3. 各个模块的独立开发:分别对每个模块进行独立的开发,每个开发人员只负责一个模块。

  4. 集成测试:在开发完成后,对各个模块进行集成测试,测试各个模块之间的接口是否正常,是否能够协同工作。

  5. 系统测试:对整个系统进行测试,模拟实际运行环境下的各种场景,保证系统整体的稳定性和可用性。

  6. 部署上线:将整个系统部署到线上环境中,进行实际的运行。

分模块设计开发的优点:

  1. 降低系统复杂度:将整个系统分模块开发,让开发人员专注于模块间的关系和模块内的逻辑,从而降低系统复杂度。

  2. 提高可维护性:每个模块独立开发,修改某个模块不影响其他模块的使用,方便维护和升级。

  3. 提高可扩展性:如果需要增加新的功能,只需要增加一个新的模块,不会影响到其他模块的运行。

  4. 提高开发效率:多个开发人员可以并行开发不同的模块,加快开发进度。

一、分模块设计与开发

1.1 分模块设计

1.2 分模块设计-实践

1.2.1 复制老项目改为spring-boot-management

新建文件夹spring_boot_project01

将之前方面复制过来改成 spring-boot-management

打开项目spring-boot-management 使用Rename 修改启动类等

1.2.2 新建maven模块runa-pojo

1.2.2.1 将原项目pojo复制到runa-pojo模块

1.2.2.2 runa-pojo引入新依赖

XML 复制代码
  <!--       lombok  -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.24</version>
    </dependency>

1.2.2.3 删除原项目pojo包

1.2.2.4 在spring-boot-management(原项目)引入runa-pojo依赖

XML 复制代码
        <dependency>
            <groupId>com.runa</groupId>
            <artifactId>runa-pojo</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

1.2.3 新建maven模块runa-utils

1.2.3.1 将原项目utils复制到runa-utils模块

1.2.3.2 runa-utils引入依赖

XML 复制代码
    <!--JWT令牌-->
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>0.9.1</version>
        </dependency>


     <!--        阿里云OSS依赖-->
        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
            <version>3.15.1</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
        <!-- no more than 2.3.3-->
        <dependency>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
            <version>2.3.3</version>
        </dependency>
        <!--        web  起步依赖  -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>3.1.2</version>
    </dependency>
    <!--       lombok  -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.24</version>
    </dependency>

1.2.3.3 spring-boot-management删除依赖

XML 复制代码
    <!--JWT令牌-->
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>0.9.1</version>
        </dependency>


     <!--        阿里云OSS依赖-->
        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
            <version>3.15.1</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
        <!-- no more than 2.3.3-->
        <dependency>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
            <version>2.3.3</version>
        </dependency>

1.2.3.4 删除原项目utils包

1.2.3.5 在spring-boot-management(原项目)引入runa-utils依赖

XML 复制代码
        <dependency>
            <groupId>com.runa</groupId>
            <artifactId>runa-utils</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

1.2.4 启动服务-测试

1.3 总结

二、继承与聚合

2.1 继承

2.1.1 新建父工程模块runa-parent

2.1.2 设置runa-parent打包方式为pom

XML 复制代码
<packaging>pom</packaging>

2.1.3 设置runa-parent父工程未springboot

XML 复制代码
   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

2.1.4 删除 runa-parent的src

2.1.5 修改spring-boot-management父工程为runa-parent

XML 复制代码
 <parent>
        <groupId>com.runa</groupId>
        <artifactId>runa-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../runa-parent/pom.xml</relativePath>
    </parent>
    

2.1.6 删除 spring-boot-management提示异常的标签

XML 复制代码
<groupId>com.runa</groupId>

2.1.7 在runa-pojo与runa-utils设置父工程和删除<groupId>

2.1.8 在父工程runa-parent配置共有依赖

将子工程共有的依赖剪切到父工程

2.2 继承实现总结

2.3 版本锁定

2.3.1 将runa-parent管理版本(子工程)

XML 复制代码
 <!--  统一管理版本标签-->
  <dependencyManagement>
    <dependencies>
      <!--JWT令牌-->
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt</artifactId>
        <version>0.9.1</version>
      </dependency>
      <!--        阿里云OSS依赖-->
      <dependency>
        <groupId>com.aliyun.oss</groupId>
        <artifactId>aliyun-sdk-oss</artifactId>
        <version>3.15.1</version>
      </dependency>
      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
      </dependency>
      <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
      </dependency>
      <!-- no more than 2.3.3-->
      <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>2.3.3</version>
      </dependency>
      <!--        web  起步依赖  -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>3.1.2</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

2.3.2 runa-utils依赖版本删除

XML 复制代码
 <dependencies>

    <!--JWT令牌-->
    <dependency>
      <groupId>io.jsonwebtoken</groupId>
      <artifactId>jjwt</artifactId>      
    </dependency>
    <!--        阿里云OSS依赖-->
    <dependency>
      <groupId>com.aliyun.oss</groupId>
      <artifactId>aliyun-sdk-oss</artifactId>    
    </dependency>
    <dependency>
      <groupId>javax.xml.bind</groupId>
      <artifactId>jaxb-api</artifactId>   
    </dependency>
    <dependency>
      <groupId>javax.activation</groupId>
      <artifactId>activation</artifactId>      
    </dependency>
    <!-- no more than 2.3.3-->
    <dependency>
      <groupId>org.glassfish.jaxb</groupId>
      <artifactId>jaxb-runtime</artifactId>   
    </dependency>
    <!--        web  起步依赖  -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>     
    </dependency>


  </dependencies>

2.3.3 自定义属性

2.3.3.1 runa-parent设置版本

XML 复制代码
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <lombok.version>1.18.24</lombok.version>
  </properties>
XML 复制代码
  <!--       lombok  -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>${lombok.version}</version>
    </dependency>

其他依次设置

XML 复制代码
<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>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.1.2</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>com.runa</groupId>
  <artifactId>runa-parent</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>runa-parent</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <lombok.version>1.18.24</lombok.version>
    <jjwt.version>0.9.1</jjwt.version>
    <aliyun.oss.version>3.15.1</aliyun.oss.version>
    <jaxb.version>2.3.1</jaxb.version>
    <activation.version>1.1.1</activation.version>
    <jaxb.runtime.version>2.3.3</jaxb.runtime.version>
<!--    他好像不需要版本管理 因为他是spring-boot,runa-parent本身就是继承springboot-->
    <spring-boot-starter-web>3.1.2</spring-boot-starter-web> 
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

    <!--       lombok  -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>${lombok.version}</version>
    </dependency>
  </dependencies>

      <!--  统一管理版本标签-->
  <dependencyManagement>
    <dependencies>
      <!--JWT令牌-->
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt</artifactId>
        <version>${jjwt.version}</version>
      </dependency>
      <!--        阿里云OSS依赖-->
      <dependency>
        <groupId>com.aliyun.oss</groupId>
        <artifactId>aliyun-sdk-oss</artifactId>
        <version>${aliyun.oss.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>${jaxb.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>${activation.version}</version>
      </dependency>
      <!-- no more than 2.3.3-->
      <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>${jaxb.runtime.version}</version>
      </dependency>
      <!--        web  起步依赖  -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
<!--        下面这个都可以删除-->
        <version>${spring-boot-starter-web}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

</project>

2.3.3.2 总结

2.2 聚合

2.2.1 runa-parent添加

XML 复制代码
<!--  聚合其他模块-->
  <modules>
    <module>../runa-pojo</module>
    <module>../runa-utils</module>
    <module>../spring-boot-management</module>

  </modules>
XML 复制代码
<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>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.1.2</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>com.runa</groupId>
  <artifactId>runa-parent</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

<!--  聚合其他模块-->
  <modules>
    <module>../runa-pojo</module>
    <module>../runa-utils</module>
    <module>../spring-boot-management</module>

  </modules>


  <name>runa-parent</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <lombok.version>1.18.24</lombok.version>
    <jjwt.version>0.9.1</jjwt.version>
    <aliyun.oss.version>3.15.1</aliyun.oss.version>
    <jaxb.version>2.3.1</jaxb.version>
    <activation.version>1.1.1</activation.version>
    <jaxb.runtime.version>2.3.3</jaxb.runtime.version>
<!--    他好像不需要版本管理 因为他是spring-boot,runa-parent本身就是继承springboot-->
    <spring-boot-starter-web>3.1.2</spring-boot-starter-web>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

    <!--       lombok  -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>${lombok.version}</version>
    </dependency>
  </dependencies>

      <!--  统一管理版本标签-->
  <dependencyManagement>
    <dependencies>
      <!--JWT令牌-->
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt</artifactId>
        <version>${jjwt.version}</version>
      </dependency>
      <!--        阿里云OSS依赖-->
      <dependency>
        <groupId>com.aliyun.oss</groupId>
        <artifactId>aliyun-sdk-oss</artifactId>
        <version>${aliyun.oss.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>${jaxb.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>${activation.version}</version>
      </dependency>
      <!-- no more than 2.3.3-->
      <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>${jaxb.runtime.version}</version>
      </dependency>
      <!--        web  起步依赖  -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
<!--        下面这个都可以删除-->
        <version>${spring-boot-starter-web}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

</project>

2.2.2 runa-parent maven生命周期进行打包等

2.3 总结

三、私服

3.1 介绍

3.2 资源上传与下载

3.3 私服配置

私服配置说明

访问私服:http://192.168.150.101:8081

访问密码:admin/admin

下载地址

使用私服,需要在maven的settings.xml配置文件中,做如下配置:

3.3.1 需要在 servers 标签中,配置访问私服的个人凭证(访问的用户名和密码)

XML 复制代码
<server>
    <id>maven-releases</id>
    <username>admin</username>
    <password>admin</password>
</server>
    
<server>
    <id>maven-snapshots</id>
    <username>admin</username>
    <password>admin</password>
</server>

3.3.2 在 mirrors 中只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉)

XML 复制代码
<mirror>
    <id>maven-public</id>
    <mirrorOf>*</mirrorOf>
    <url>http://192.168.150.101:8081/repository/maven-public/</url>
</mirror>

3.3.3 需要在 profiles 中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用

XML 复制代码
<profile>
    <id>allow-snapshots</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    <repositories>
        <repository>
            <id>maven-public</id>
            <url>http://192.168.150.101:8081/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
</profile>

3.3.4 如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址)

XML 复制代码
<distributionManagement>
    <!-- release版本的发布地址 -->
    <repository>
        <id>maven-releases</id>
        <url>http://192.168.150.101:8081/repository/maven-releases/</url>
    </repository>
    
    <!-- snapshot版本的发布地址 -->
    <snapshotRepository>
        <id>maven-snapshots</id>
        <url>http://192.168.150.101:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

3.3.5 发布项目,直接运行 deploy 生命周期即可 (发布时,建议跳过单元测试)

3.3.6 启动本地私服

复制代码
1、解压: apache-maven-nexus.zip

2、进入目录: apache-maven-nexus\nexus-3.39.0-01\bin   #(注意解压不要有中文路径)

3、启动服务:双击 start.bat

4、访问服务:localhost:8081

5、私服配置说明:将上述配置私服信息的 192.168.150.101 改为 localhost

3.4 上传maven生命周期-deploy

3.5 下载

新项目配置依赖

要验证下载,先将本地仓库的删除掉

相关推荐
这周也會开心4 分钟前
云服务器安装JDK、Tomcat、MySQL
java·服务器·tomcat
hrrrrb1 小时前
【Spring Security】Spring Security 概念
java·数据库·spring
小信丶1 小时前
Spring 中解决 “Could not autowire. There is more than one bean of type“ 错误
java·spring
周杰伦_Jay2 小时前
【Java虚拟机(JVM)全面解析】从原理到面试实战、JVM故障处理、类加载、内存区域、垃圾回收
java·jvm
程序员小凯5 小时前
Spring Boot测试框架详解
java·spring boot·后端
豐儀麟阁贵6 小时前
基本数据类型
java·算法
_extraordinary_6 小时前
Java SpringMVC(二) --- 响应,综合性练习
java·开发语言
程序员 Harry6 小时前
深度解析:使用ZIP流式读取大型PPTX文件的最佳实践
java
wxweven7 小时前
校招面试官揭秘:我们到底在寻找什么样的技术人才?
java·面试·校招
陈陈爱java8 小时前
新知识点背诵
java