• Spring Boot 2.3 终于要来了!

    2020/04/06日消息:https://spring.io/blog/2020/04/03/spring-boot-2-3-0-m4-available-nowSpring团队正式发布了 Spring Boot 2.3 的第 4 个里程碑版本,现在可以从 Spring 的里程碑仓库获取了:https://repo.spring.io/milestone/这个版本主要关闭了 ...

    Java 2020年04月06日 3693 0
  • 惊呆了,Spring Boot居然这么耗内存!

    Spring Boot总体来说,搭建还是比较容易的,特别是Spring Cloud全家桶,简称亲民微服务,但在发展趋势中,容器化技术已经成熟,面对巨耗内存的Spring Boot,小公司表示用不起。如今,很多刚诞生的JAVA微服务框架大多主打“轻量级”,主要还是因为Spring Boot太重。JAVA系微服务框架No1-Spring Cloud介绍有Spring大靠山在,更新、...

    Java 2020年04月06日 1335 0
  • springboot整合netty替代websocket

    步骤 1 先写好基本的Netty客户端和Netty服务的代码。参考文章【netty技术基础入门】2.搭建好基本的Springboot项目。3.将Netty服务端代码的启动代码和关闭代码分离,服务端加上@Component注解,交由Spring管理实例。4.Springboot启动时,将Netty服务给启动;同时Springboot停止时,将Netty服务销毁。 实现 Nett...

    Java 2020年04月02日 3544 0
  • Spring Boot 如何整合多个数据源?

    SpringBoot现在是很多很多公司应用的后端框架,因为它搭建快,能更好、更快速的整合其他第三方。那么随着业务的不断扩展,业务量的增加,这时候就会牵扯到分库分表,虽然这个词听起来很熟悉,作为程序员也很容易理解,但是我想应该也有不少读者没接触过分库分表,今天我们不聊如何分库分表,而是聊SpringBoot如何整合多个数据源的事情。也就是如何接入不同的(多个)数据库。我们直接开始...

    Java 2020年03月31日 2143 0
  • Spring Boot Actuator:健康检查、审计、统计和监控

    Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查、审计、统计和HTTP追踪等。所有的这些特性可以通过JMX或者HTTP endpoints来获得。 Actuator同时还可以与外部应用监控系统整合,比如 Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic等。这...

    Java 2020年03月27日 1444 0
  • 如何在Spring Boot应用程序上启用HTTPS?

    HTTPS是HTTP的安全版本,旨在提供传输层安全性(TLS)[安全套接字层(SSL)的后继产品],这是地址栏中的挂锁图标,用于在Web服务器和浏览器之间建立加密连接。HTTPS加密每个数据包以安全方式进行传输,并保护敏感数据免受窃听者或黑客的攻击。自签名证书其实可以使用位于JDK bin文件夹下的Keytool生成证书。例如,C:\ Program Files \ Java ...

    Java 2020年03月25日 1615 0
  • 震惊!springboot内存泄露,排查竟这么难!

    背景为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+A...

    Java 2020年03月24日 1717 0
  • 优雅停止Springboot 服务的几种方法

    在使用Springboot的时候,都要涉及到服务的停止和启动,当我们停止服务的时候,很多时候大家都是kill -9 直接把程序进程杀掉,这样程序不会执行优雅的关闭。而且一些没有执行完的程序就会直接退出。  我们很多时候都需要安全的将服务停止,也就是把没有处理完的工作继续处理完成。比如停止一些依赖的服务,输出一些日志,发一些信号给其他的应用系统,这个在保证系统的高可用是非常有必要...

    Java 2020年03月19日 1640 0
  • 学会使用 Spring Boot 的异步调用

    一、Spring Boot中异步请求的使用1、异步请求与同步请求特点:可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运算)时再对客户端进行响应。一句话:增加了服务器对客户端请求的吞吐量(实际生产上我们用的比较少,如果并发请求量很大的情况下,我们会通过nginx把请求负载到集群服务的各个节点上来...

    Java 2020年03月17日 1396 0
  • 重写Spring Boot定时任务,支持可动态调整执行时间

    Spring Boot应该是目前最火的java开源框架了,它简化了我们创建一个web服务的过程,让我们可以在很短时间、基本零配置就可以启动一个web服务。定时任务在我们平常的业务开发用的非常多,Spring Boot创建一个定时任务很简单,只需要用@Scheduled注解方法,就可以让方法按照定义的时间进行运行。但是,Spring Boot的@Scheduled默认是单线程的,...

    Java 2020年03月13日 3411 0
  • Springboot 2.x 如何解决重复提交 (本地锁的实践)

    有没有遇到过这种情况:网页响应很慢,提交一次表单后发现没反应,然后你就疯狂点击提交按钮(12306就经常被这样怒怼),如果做过防重复提交还好,否则那是什么级别的灾难就不好说了。。。本文主要是应用 自定义注解、 spring AOP、· Guava Cache 生成一种本地锁,来达到的防重复提交效果,由于是基于内存的缓存,所以这种实现方式并不适用于分布式服务Guava是什么?gu...

    Java 2020年03月12日 1553 0
  • Spring Boot 整合 Shiro-登录认证和权限管理

    这篇文章我们来学习如何使用 Spring Boot 集成 Apache Shiro 。安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求。在 Java 领域一般有 Spring Security、 Apache Shiro 等安全框架,但是由于 Spring Security 过于庞大和复杂,大多数公司会选择 Apache Shiro 来使用,这篇文章会先介...

    Java 2019年12月24日 1412 0
  • 软件更新丨Spring Boot 2.1.8 发布

    Spring Boot 2.1.8 发布了,更新内容如下: New Features添加了 Issuer Validation 的其他资源服务器配置 #17952在依赖关系管理中公开依赖管理插件版本 #17842Bug Fixes使用未命名为 flywayInitializer 的自定义 FlywayMigrationInitializer bean 的 NoSuchBeanD...

    java技术 2019年12月04日 1943 0
  • SpringBoot异步调用@Async

    一. 什么是异步调用?异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行。二. 如何实现异步调用?多线程,这是很多人第一眼想到的关键词,没错,多线程就是一种实现异步调用的方式。在非spring目项目中我们要实现异步调用的就是使用多线程方式,可以自己实现Runable接口或者集成T...

    技术资讯 2019年11月26日 1726 0
  • 想动态切换数据源咋办,别急,SpringBoot来帮你搞定

    相信大家在随着公司的规模的不断发展,系统不断的增多,或多或少的可能会遇到多数据源的场景,不管是为了读写分离,还是需要聚合业务上的多数据,今天就给大家分享一下,SpringBoot多数据源的实现方案。首先先看一下实现步骤 实现步骤 使用一个枚举类来定义列出所有的数据源; 加载所有数据源到Spring容器中; 绑定数据源和枚举类定义的数据源的关系; 定义属性...

    Java 2019年10月25日 4183 0
  • SpringBoot 集成 WebSocket 实现前后端消息互传

    WebSocket 协议是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工 (full-duplex) 通信—允许服务器主动发送信息给客户端。 为什么需要WebSocket? 大家都知道以前客户端想知道服务端的处理进度,要不停地使用 Ajax 进行轮询,让浏览器隔个几秒就向服务器发一次请求,这对服务器压力较大。另外一种轮询就是采用 long poll 的方式,...

    Java 2019年10月19日 3105 0
  • springboot中配置mysql一次允许多条sql语句执行

    在springboot中,如果想要对mysql一次性执行多条sql语句,在数据连接配置信息中,要增加allowMultiQueries=true,这样才能一次执行多条sql语句。 理论上这样就可以了,但实际中发现在springboot中,仅仅这样配置是没有用的,执行结果会出现异常,异常提示为: Caused by: java.sql.SQLException: sql inj...

    Java 2019年10月14日 9764 0
  • springboot多线程定时器

    前言 我们在做实际项目中经常会需要用到定时任务用来定时处理些需要后台自动处理的逻辑,实现定时器的的方式也有很多种: 1. Quartz:Quartz的使用相当广泛,它是一个功能强大的调度器,当然使用起来也相对麻烦; 2. java.util包里的Timer,它也可以实现定时任务但是功能过于单一所有使用很少。 3. 就是我们今天要介绍的Spring自带的定时任务Schedul...

    技术文章 2019年10月10日 2434 0
  • SpringBoot使用JdbcTemplate实现增删改查

    SpringBoot使用JdbcTemplate实现CRUD功能 SpringBoot2.x使用JdbcTemplate实现增删改查,非常适合初学者学习案例。 项目结构 项目结构 第一步:开发环境准备 JDK:1.8 Maven:apache-maven-3.6.0 ...

    Java 2019年09月21日 2063 0
  • tomcat下如何部署springboot项目

    Springboot项目默认jar包,且内置Tomcat。现需要将项目打成war包,并部署到服务器tomcat中。  1、修改pom.xml文件。将jar修改为war。 <packaging>war</packaging>2、在spring-boot-starter-web依赖中移除tomcat模块。 <dependency> ...

    Java 2019年08月22日 2086 0
  • Springboot集成Flowable

    工作流是OA系统不可或缺的一部分,今天介绍一款新的工作流引擎flowable。flowable 是著名 Java 工作流引擎 Activiti 的原作者从 Activiti 分支创建的新工作流引擎。flowable 是一个业务流程管理(BPM)和工作流系统,适用于开发人员和系统管理员。其核心是超快速,稳定的BPMN2流程引;易于与 Spring集成使用。 1、Flowable...

    技术文章 2019年08月21日 4059 0
  • Springboot是如何实现日志的?

    门面模式 说到日志框架不得不说门面模式。门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。 用一张图来表示门面模式的结构为: 门面模式 简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用。 这个模式中,涉及到三个角色: 门面角色:外观模式的核心。它被客户角色调用,熟悉子系统的功能。内部根据客户角色的需求预定...

    Java 2019年07月18日 1953 0
  • 优化你的springboot

    在SpringBoot的Web项目中,默认采用的是内置Tomcat,当然也可以配置支持内置的jetty,内置有什么好处呢? 方便微服务部署。 方便项目启动,不需要下载Tomcat或者Jetty 针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点 线程数 超时时间 jvm优化 ...

    Java 2019年07月18日 1909 0
  • springboot定时任务实现方式大全

    1. 线程实现 利用线程可以设定休眠时间的方式可以实现简单的定时任务逻辑。 public static void main(String[] args){ //定时任务间隔时间 int sleepTime=2*1000; new Thread(new Runnable() { @Override public void run() { while (true){ try { ...

    Java 2019年07月13日 2936 0
  • Protocol handler start failed问题处理

    IDEA创建了一个Springboot空项目,端口设置为7125,启动后,发现无法启动,报错提示如下:2019-07-05 15:00:27.414 ERROR 302288 --- [ main] org.apache.catalina.util.LifecycleBase : Failed to start component [Connector...

    Java 2019年07月05日 16874 0
  • springboot下配置mybatis的call-setters-on-nulls属性

    使用Mybatis时,如果查询语句中某些字段值是null的,则这个字段就无法返回。对于后台数据处理来说,这是一个致命的问题,于是通过修改Mybatis的配置来解决这个问题。 在springmvc下,在mybatis的配置文件里面增加以下配置即可:mybatis.configuration.call-setters-on-nulls=true 但在springboot中,则有时...

    Java 2019年04月28日 31959 2
  • springboot log4j DatePattern 配置不起作用的问题

    在springboot当中配置了log4j输出到文件:# LOG4J配置log4j.rootCategory = INFO,stdout,filelog4j.appender.file = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.file.file = logs/web.loglog4j.appender...

    Java 2019年04月05日 4816 0