ssm项目改造spring boot项目完整步骤

目录
  • 添加依赖
  • 添加启动类
  • 拷贝项目代码
  • 配置数据库连接池
    • 添加依赖
    • 连接池的自动配置方式
    • 配置 Druid 连接池
  • 集成 MyBatis
    • 添加依赖
    • 配置 Mapper 对象
    • MyBatis配置属性
  • 事务管理
    • 添加依赖
    • 注解方式
    • 配置切换代理
    • 测试验证
  • 集成 Web
    • 添加依赖
    • 修改端口
    • 目录结构
    • 静态资源的一些处理
    • 前端控制器映射路径配置
  • 集成 Thymeleaf
    • 添加依赖
    • 相关配置
    • 修改模板文件
  • 统一异常处理
    • 框架自带方式
    • 控制器增强器方式
    • 添加注册多个拦截器
  • 系统日志
    • 为什么要用日志
    • Spring Boot 中的日志介绍
    • 输出日志
      • 方式一
      • 方式二
    • 日志级别
    • Logback 配置文件,日志存入文件中
  • 其他功能
    • 修改spring boot启动打印画面
    • 热部署插件
    • 切换运行环境
  • 总结

快速创建 Spring Boot 项目

添加依赖

如果是普通 Maven 项目,需要手动添加。

<!-- 打包方式 jar 包 -->
<packaging>jar</packaging>

<!-- 指定父工程 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.3.RELEASE</version>
</parent>

<dependencies>
    <!-- spring boot Web 包 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- spring boot Test 包 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!-- Lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <scope>provided</scope>
    </dependency>
</dependencies>

添加启动类

如果是普通 Maven 项目,需要手动添加。

@SpringBootApplication
public class xxxApplication {
    public static void main(String[] args) {
        SpringApplication.run(xxxApplication.class, args);
    }
}

拷贝项目代码

  • 把 src\main\java 中的 java 代码全部拷贝到新项目中的 src\main\java 里面。
  • 把 src\main\resources 中存放 mapper.xml 的目录也拷贝到新项目中的 src\main\resources 里面。

下面步骤用什么拷贝什么

配置数据库连接池

添加依赖

<!-- MySQL 驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

还需要jdbc依赖(事务)

连接池的自动配置方式

application.properties

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql:///数据库库名?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=admin

此时运行测试获取的数据库连接池对象可以执行成功,并且我们看到了使用的连接池是 Hikari,全称是 Hikaricp。

其实,在 Spring Boot 2.0 之后,采用的默认连接池就是 Hikari,号称“史上最快的连接池”,所以我们没有添加依赖也能直接用,Spring Boot 的自动配置中含有 DataSourceAutoConfiguration 配置类,会先检查容器中是否已经有连接池对象,没有则会使用默认的连接池,并根据特定的属性来自动配置连接池对象,用到的属性值来源于DataSourceProperties 对象。

配置 Druid 连接池

当然如果我们在项目中还是想要使用 Druid 作为连接池也是可以的。只需要添加依赖即可,此时加的是 Druid 的 druid-spring-boot-starter 自动配置包, 里面包含了 DruidDataSourceAutoConfigure 自动配置类,会自动创建 Druid 的连接池对象,所以 Spring Boot 发现已经有连接池对象了,则不会再使用 Hikari

<!-- druid -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.21</version>
</dependency>

注意:如果添加的依赖是以前那种普通包,只有 Druid 自身的依赖,并不是自动配置包,则需要进行以下配置:

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

在配置文件中添加参数

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

所以一般如果已经提供了 Spring Boot 相关的自动配置包,直接使用自动配置的会更方便些。

对于 Hikari 以及 Druid 两款都是开源产品,阿里的 Druid 有中文的开源社区,交流起来更加方便,并且经过阿里多个系统的实验,也是非常的稳定,而 Hikari 是 Spring Boot 2.0 默认的连接池,全世界使用范围也非常广,对于大部分业务来说,使用哪一款都是差不多的,毕竟性能瓶颈一般都不在连接池。

集成 MyBatis

添加依赖

<!-- Mybatis 集成到 SpringBoot 中的依赖 -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.1</version>
</dependency>

配置 Mapper 对象

扫描 Mapper 接口只要在任意配置类上贴个注解 @MapperScan 并指定扫描的包路径即可。

@SpringBootApplication
@MapperScan("cn.xxx.mapper")
public class SsmApplication {
    public static void main(String[] args) {
        SpringApplication.run(SsmApplication.class, args);
    }
}

MyBatis配置属性

在 application.properties 配置以前在 XML 配置了的那些 MyBatis 的属性,属性前缀 mybatis。

# 配置别名
mybatis.type-aliases-package=cn.xxx.domain

# 打印 SQL 日志
logging.level.cn.xxx.mapper=trace

事务管理

添加依赖

<!-- Spring JDBC 和 TX -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

注解方式

直接在业务层实现类上或者其方法上直接贴 @Transactional 注解即可。

Spring Boot 自动配置中提供了 TransactionAutoConfiguration 事务注解自动配置类,引入了事务的依赖后,可直接使用 @Transactional 注解。

配置切换代理

Spring Boot 默认优先选择 CGLIB 代理,如果需要改为优先使用 JDK 代理,需要做以下配置:

spring.aop.proxy-target-class=false

测试验证

在测试类上添加方法,打印业务对象看下其真实类型。

@Test
public void testSave() {
    System.out.println(departmentService.getClass());
}

集成 Web

添加依赖

<!-- spring boot web 启动器 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

修改端口

在 application.properties 配置,如下:

server.port=80

目录结构

拷贝静态资源及模板文件

静态资源的一些处理

  • 默认情况下,Spring Boot 会从 classpath 下的 /static,/public,/resources,/META-INF/resources 下加载静态资源。
  • 可以在 application.properties 中配置 spring.resources.staticLocations 属性来修改静态资源的默认加载地址。
  • 因为应用是打成 jar 包,所以之前的 src/main/webapp 就作废了,如果有文件上传,那么就的必须去配置图片保存的路径,因为图片不能存在jar包中,之前war包方式才可以。
# 告诉 Spring Boot 必须要以怎样的路径开头才能访问到静态资源,这样做是为了后期如果需要拦截,拦截器可以统一排除掉这些以这个开头的访问
spring.mvc.static-path-pattern=/static/**

前端控制器映射路径配置

在 Spring Boot 自动配置中,WebMvcAutoConfiguration 自动配置类导入了 DispatcherServletAutoConfiguration 配置对象,会自动创建 DispatcherServlet 前端控制器,默认的映射路径是 /,Spring Boot 多数用于前后端分离和微服务开发,默认支持 RESTFul 风格,所以一般都是使用默认的即可,不做改动。

# 在匹配模式时是否使用后缀模式匹配(严格匹配后缀)一般前后端分离做严格区分时配置
spring.mvc.pathmatch.use-suffix-pattern=true

集成 Thymeleaf

添加依赖

<!-- 引入 Thymeleaf 依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

相关配置

# Thymelea 模板配置
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=UTF-8
# 上面几个配置都是默认值不需要配置

# 热部署文件,页面不产生缓存,及时更新(开发时禁用缓存)
spring.thymeleaf.cache=false

修改模板文件

使用 Thymeleaf 的语法替换之前 JSP 中的 EL 表达式和 JSTL。

统一异常处理

框架自带方式

Spring Boot 默认情况下,会把所有错误都交给 BasicErrorController 类完成处理,错误的视图我们放到 classpath:/static/error/ 和 classpath:/templates/error/ 路径上,HTTP 错误状态码就是默认视图的名称。如:

  • 出现 404 错误 -> classpath:/static/error/404.html
  • 出现 5xx 错误 -> classpath:/static/error/5xx.html (因为 5xx 错误是后台错误, 原因很多种, 有时有需求需要根据原因不一样响应不同的内容, 甚至响应数据格式都不一样,所以我们一般都用统一异常处理,然后再根据错误原因把对应内容放到页面上)

控制器增强器方式

自己定义一个控制器增强器,专门用于统一异常处理,该方式一般用于处理 5xx 类错误。

@ControllerAdvice
// 控制器消息,这个注解为了spring帮我们创建对象
public class ExceptionControllerAdvice {
    @ExceptionHandler(RuntimeException.class) // 处理什么类型的异常
    //返回值形式也可以自定义,可以返回modelAndView,
    public String handlException(RuntimeException e, Model model,HandlerMethod m) {
    	//HandlerMethod这个对象存放了spring对控制器的方法和控制器对象
    	//将错误信息存入到model中
        e.printStackTrace(); // 记得这行代码保留,不然项目后台出异常,开发工具控制台看不到错误信息
        return "errorView"; // 指定错误页面视图名称,然后在页面从model对象中拿到错误信息
    }
}

添加注册多个拦截器

定义一个配置类,实现 WebMvcConfigurer 接口,在 addInterceptors 方法注册拦截器。

@Configuration
public class MvcJavaConfig implements WebMvcConfigurer {

    @Autowired
    private LoginInterceptor loginInterceptor;
    //拦截器类实现HandlerInterceptor

    @Autowired
    private PermissionInterceptor permissionInterceptor;
    //拦截器类实现HandlerInterceptor

    public void addInterceptors(InterceptorRegistry registry) {
        // 注册登录拦截器
        registry.addInterceptor(loginInterceptor)
            // 对哪些资源起过滤作用
            .addPathPatterns("/**")
            // 对哪些资源起排除作用
            .excludePathPatterns("/login", "/static/**");//多个路径

		//多个拦截器
        // 注册权限拦截器
        registry.addInterceptor(permissionInterceptor)
            // 对哪些资源起过滤作用
            .addPathPatterns("/**")
            // 对哪些资源起排除作用
            .excludePathPatterns("/login", "/static/**");
    }
}

系统日志

为什么要用日志

  • 比起 System.out.println,日志框架更为灵活,可以把日志的输出和代码分离。
  • 日志框架可以方便的定义日志的输出环境,控制台,文件,数据库。
  • 日志框架可以方便的定义日志的输出格式和输出级别。

Spring Boot 中的日志介绍

  • Spring Boot 默认已经开启日志,其默认的日志格式为:时间 日志级别 线程ID 线程名称 日志类 日志说明。
  • Spring Boot 的日志分为:系统日志和应用日志。
  • 日志级别,级别越高,输出的内容越少,如果设置的级别为 info,则 debug 以及 trace 级别的都无法显示,日志级别由低到高 trace < debug < info < warn < error。
  • Spring Boot 默认选择 Logback 作为日志框架,也能选择其他日志框架,但是没有必要。

由于slf4j是后来出现的日志标准,目的是统一之前很多日志框架的使用方式,对主流的日志框架主动的实现了这个标准,实际就是调用各日志框架的api

输出日志

在我们自定义的类中可以使用日志框架来输出。

方式一

在类中注入一个静态 Logger 对象,传入当前类的作用是方便输出日志时可以清晰地看到该日志信息是属于哪个类的。

private static final Logger log = LoggerFactory.getLogger(当前类.class);

方式二

使用 Lombok 提供的 @Slf4j 注解来简化代码,其实和方式一的作用是一样的。

@Slf4j
@Service
public class PermissionServiceImpl implements IPermissionService {}

在需要输出日志的地方使用日志的输出方法

log.info(...);
log.error(...);
...
// 输出日志中有变量可以使用 {} 作为占位符
log.info("删除id为{}的数据", id);

日志级别

日志级别由低到高 trace < debug < info < warn < error。

log.debug("权限插入成功:{}",expression);
log.info("权限插入成功:{}",expression);
log.warn("权限插入成功:{}",expression);

执行权限加载功能后,发现控制台出现 info 与 warn 的信息,debug 的没有显示,原因是因为 Spring Boot 默认的日志级别是 info,所以 debug 低于 info 级别,就不会显示出来了。

若要修改日志显示级别,最快速的方式是在 application.properties 配置,配置如下

# 把日志级别修改为 debug,不过我们一般不会更改,除非要调试找 bug,不然控制台显示的内容太多也容易乱,下面为全局配置,单路径配置如打印 SQL 日志 logging.level.cn.xxx.mapper=trace
logging.level.root=debug

Logback 配置文件,日志存入文件中

Logback 框架默认会自动加载 classpath:logback.xml,作为框架的配置文件,在 Spring Boot项目中使用时,还会额外的支持自动加载classpath:logback-spring.xml,在 Spring Boot 项目中推荐使用 logback-spring.xml,功能更强大些。

<?xml version="1.0" encoding="UTF-8"?>
<!--
    scan:开启日志框架的热部署,默认值 true 表示开启
    scanPeriod:热部署的频率,默认值 60 second
    debug:设置输出框架内部的日志,默认值 false
-->
<configuration scan="true" scanPeriod="60 second" debug="false">
    <property name="appName" value="springboot demo" />
    <contextName>${appName}</contextName>

    <!-- appender:日志输出对象,配置不同的类拥有不同的功能
        ch.qos.logback.core.ConsoleAppender:日志输出到控制台
    -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd-HH:mm:ss} %level [%thread]-%logger{35} >> %msg %n</pattern>
     </encoder>
   </appender>

    <!-- ch.qos.logback.core.FileAppender:日志输出到文件中-->
    <appender name="fileAppender" class="ch.qos.logback.core.FileAppender">
        <encoder>
            <pattern>%-4relative [%thread] %level %logger{35} - %msg %n</pattern>
       </encoder>
        <append>true</append> <!-- 是否为在原有文件追加内容方式-->
        <file>MyLog.log</file> <!-- 日志存放的文件,也可以指定路径 -->
   </appender>

    <!--
        root 是项目通用的 logger,一般情况下都是使用 root 配置的日志输出
        level:按照级别输出日志,日志级别,级别越高,输出的内容越少
    -->
   <root level="info">
        <appender-ref ref="STDOUT" /> <!-- 日志输出到控制台还是存入文件中 -->
    </root>

    <!-- 自定义的 logger,用于专门输出特定包中打印的日志
    <logger name="cn.xxx.crm.mapper" level="trace">
    </logger>
	-->
</configuration>

参考日志格式:

  • %d{yyyy-MM-dd-HH:mm:ss} %level [%thread]-%class:%line >> %msg %n

格式中的标识符组成:

  • %logger{n}:输出 Logger 对象类名,n 代表长度
  • %class{n}:输出所在类名
  • %d{pattern} 或者 date{pattern}:输出日志日期,格式同 Java
  • %L/line:日志所在行号
  • %m/msg:日志内容
  • %method:所在方法名称
  • %p/level:日志级别
  • %thread:所在线程名称

一般开发过程,日志记录到控制台

实际上线了, 日志一般记录到文件中

其他功能

修改spring boot启动打印画面

Spring Boot 提供了一些扩展点,比如修改 banner:在 resources 根目录中放入 banner.txt 文件,替换默认的启动spring打印的字样。

# application.properties
# 关闭 banner
spring.main.banner-mode=off

热部署插件

除了使用 JRebel 插件(收费)来实现热部署,还可以使用 Spring Boot 提供的 spring-boot-devtools 包来完成 Springboot 应用热部署,从而实现更改方法内代码和模板文件不需要重启,只需要点击编译即可。

<!-- Spring Boot 热部署插件 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
</dependency>

Spring Boot 重启是 reload 重启,通过监控 classpath 的变化,如果 classpath 中的文件发生变化,即触发重启。Spring Boot 通过两个 classpath 来完成 reload,一个 basic classloader 中加载不变的类(jar 包中的类),一个 restart classloader 中加载 classpath 中的类(自己写的类),重启的时候,restart classloader 中的类丢弃并重新加载。

下面是相关的一些配置,一般不用配置

# 默认排除不需要更新的资源
spring.devtools.restart.exclude=static/**,templates/**,public/**       

# 增加额外的排除资源
# 处理默认配置排除之外的
spring.devtools.restart.additional-exclude=public/** 

# 禁用自动重启
spring.devtools.restart.enabled=false

切换运行环境

在实际开发中,一个系统是有多套运行环境的,如开发时有开发的环境,测试时有测试的环境,不同的环境中,系统的参数设置是不同的,如:连接开发数据和测试数据库的 URL 绝对是不同的,那么怎么快速的切换系统运行的环境呢?我们需要为不同的环境创建不同的配置文件,如下:

# application-dev.properties
server.port=8081
# application-test.properties
server.port=8082

最后我们在 application.properties 中指定需要使用的环境即可

# 在 application.properties 中指定需要使用的环境即可
spring.profiles.active=dev

在命令行模式下启动也可以激活: java -jar xxx --spring.profiles.active=dev

总结

到此这篇关于ssm项目改造spring boot项目的文章就介绍到这了,更多相关ssm改造spring boot项目内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java项目之java+springboot+ssm实现理财管理系统设计

    理财系统: 设计使用了当前较为流行的spring boot,spring,spring mvc,mybatis,shiro框架分页处理使用了pagehelper进行操作,前台使用了模板语言thymeleaf,界面较为炫酷,适合年轻朋友.开发工具采用的是IDEA.该系统主要解决了理财中的一些问题 包含功能:权限管理,用户信息管理,理财产品管理等内容. 登陆控制层:  @Controller @RequestMapping("/login") public class LoginContr

  • 使用SpringBoot整合ssm项目的实例详解

    SpringBoot是什么? Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程. Spring Boot 现在已经成为 Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成.成为 SpringBoot 全家桶,成为一把万能钥匙. SpringBoot的特点 1.创建独立的 Spring 应用程序 2.嵌入的 Tomcat ,无需部署 WAR 文件 3.简化 Maven 配置 4.自动配置 Spr

  • ssm项目改造spring boot项目完整步骤

    目录 添加依赖 添加启动类 拷贝项目代码 配置数据库连接池 添加依赖 连接池的自动配置方式 配置 Druid 连接池 集成 MyBatis 添加依赖 配置 Mapper 对象 MyBatis配置属性 事务管理 添加依赖 注解方式 配置切换代理 测试验证 集成 Web 添加依赖 修改端口 目录结构 静态资源的一些处理 前端控制器映射路径配置 集成 Thymeleaf 添加依赖 相关配置 修改模板文件 统一异常处理 框架自带方式 控制器增强器方式 添加注册多个拦截器 系统日志 为什么要用日志 Spr

  • 如何将JSP/Servlet项目转换为Spring Boot项目

    创建Spring Boot应用 在基于Spring来重构JSP应用之前,我们先引入Spring Boot,使之成为一个Spring Boot应用.你只需要在原来的代码基础上,增加简单的配置和少量的代码即可引入Spring Boot,整个过程5分钟就能完成. 这里我们使用Maven来管理依赖,因为我们需要增加Spring Boot相关的依赖.也可以在Eclipse或者IntelliJ中创建一个新的Maven项目. 在POM文件中加入Spring Boot相关的配置. <parent> <g

  • 基于IDEA,Eclipse搭建Spring Boot项目过程图解

    如何创建一个Spring Boot项目?这里使用maven来进行依赖管理,根据常用的IDE,可以使用IDEA.Eclipse.或者访问官方网站搭建. 项目搭建环境准备 JDK:1.8MAVEN:3.6.3 使用IDEA搭建Spring Boot项目 打开IDEA,选择File -- > New --> Project ,然后选择Spring Initializr,点击Next 输入Group --> Artifact --> Next,其他可以不用修改. 选择Spring Boot

  • 5分钟快速创建spring boot项目的完整步骤

    前言 上一篇博客说了如何创建spring boot项目,但是有些同学会觉得有点麻烦,有没有什么快速学会能快速创建spring boot项目的方法,答案是肯定的.接下来我们就一起来快速创建一个spring boot项目并让它跑起来. 我们今天用两种方式创建,分别是在线创建和使用IntelliJ IDEA创建. 1 在线创建 1.1 在浏览器中打开https://start.spring.io/,我们看到的是如下图所示: 1.2 Project选择Maven Project,Language选择Ja

  • Spring Boot项目添加外部Jar包以及配置多数据源的完整步骤

    前言 最近项目需要和Oracle数据库进行交互,然后我从Maven中央仓库下载数据库驱动jar包,但怎么都下不下来,我到Oracle官网上一看,我去,居然不让用Maven直接下(大学时候用过Oracle,很久远的事情了0rz),没办法我还是直接下载jar包放到我的项目里面吧.SpringBoot项目引入外部jar包是非常方便的,包含打引入外部jar等操作. 我的做法如下: 首先在src同级目录建一个lib文件夹,将第三方jar包放到这个文件内,比如我将ojdbc6.jar 这个jar包放到这个地

  • Spring Boot 项目发布到 Tomcat 服务器的操作步骤

    第 1 步:将这个 Spring Boot 项目的打包方式设置为 war. <packaging>war</packaging> SpringBoot 默认有内嵌的 tomcat 模块,因此,我们要把这一部分排除掉. 即:我们在 spring-boot-starter-web 里面排除了 spring-boot-starter-tomcat ,但是我们为了在本机测试方便,我们还要引入它,所以我们这样写: <dependency> <groupId>org.s

  • 详解如何将已有项目改造为Spring Boot项目

    快速创建一个springboot web工程 以IntelliJ IDEA为例: 1.首先创建一个项目,创建时选择Spring Initializr,然后Next,如下图: 2.填写项目信息,如下图: 3.勾选web 4.最后一步,填写工程名字点击finish 第一次创建时系统会去下载需要的依赖,耗时稍长,请耐心等待. 创建成功后,目录结构如下:项目的根目录下会有一个artifactId+Application命名规则的入口类,SpringbootLearningApplication Spri

  • idea将maven项目改成Spring boot项目的方法步骤

    1.添加parent父级依赖 在pom.xml文件中,要首先添加parent父级依赖 <!-- 这个parent是springboot的父级依赖, 它提供相关的starter的maven管理以及版本号管理,还有相关maven插件的公共配置 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artif

  • spring boot项目生成docker镜像并完成容器部署的方法步骤

    一.问题产生    把spring boot项目生成的jar打成docker镜像并生成docker容器完成部署是比较简单方便的部署方式,而且部署过程很少会出错. 二.部署步骤 1.利用maven或者gradle完成打包工作,打成jar包的形式. 2.在项目中的任意位置创建Dockerfile文件,本人的文件如下: FROM java:8 VOLUME /tmp ADD front-1.0-SNAPSHOT.jar front.jar RUN bash -c 'touch /front.jar'

  • Spring Boot项目集成UidGenerato的方法步骤

    前言 UidGenerato 基于snowflake算法实现 UidGenerato 由百度开发,基于SnowFlake算法的唯一ID生成器.UidGenerato 已组件的形式工作在应用项目中,支持自定义workeid位数和初始化策略,从而适用docker等虚拟化环境下实例自动重启等场景. 准备一个maven项目,构建两个模块.分别作为使用方和提供方.(建两个模块主要是为了"造轮子",其他模块或项目可以直接引用,无需关心uid配置,如果没有分模块,可以指忽略构建两个模块) 下载uid

随机推荐