[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 下载

新项目配置依赖

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

相关推荐
张张张3127 分钟前
4.2学习总结 Java:list系列集合
java·学习
KATA~10 分钟前
解决MyBatis-Plus枚举映射错误:No enum constant问题
java·数据库·mybatis
xyliiiiiL26 分钟前
一文总结常见项目排查
java·服务器·数据库
shaoing28 分钟前
MySQL 错误 报错:Table ‘performance_schema.session_variables’ Doesn’t Exist
java·开发语言·数据库
腥臭腐朽的日子熠熠生辉1 小时前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
ejinxian1 小时前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring
杉之1 小时前
SpringBlade 数据库字段的自动填充
java·笔记·学习·spring·tomcat
圈圈编码2 小时前
Spring Task 定时任务
java·前端·spring
俏布斯2 小时前
算法日常记录
java·算法·leetcode
27669582922 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿