SpringBoot
wang_shuyu
不积跬步,无以至千里!
展开
-
springboot admin+nacos+钉钉机器人实现服务监控
nacos做为注册中心和配置中心springboot微服务集成springboot admin做服务监控钉钉机器人及时推送服务下线、上线通知摘要Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。 应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册(通过HTTP)或使用SpringCloud注册中心(平台使用nacos)发现。 UI是的Vue.js应用程序,展示Spring Boot原创 2020-06-03 10:09:40 · 3897 阅读 · 5 评论 -
Spring Boot教程十七:防止接口恶意刷新和暴力请求
在实际项目使用中,必须要考虑服务的安全性,当服务部署到互联网以后,就要考虑服务被恶意请求和暴力攻击的情况,下面的教程,通过intercept和redis针对url+ip在一定时间内访问的次数来将ip禁用,可以根据自己的需求进行相应的修改,来打打自己的目的;首先工程为springboot框架搭建,不再详细叙述。直接上核心代码。首先创建一个自定义的拦截器类,也是最核心的代码;/** *...原创 2019-10-13 13:28:28 · 12277 阅读 · 11 评论 -
java实现redis分布式锁
背景在多线程环境下,通常会使用锁来保证有且只有一个线程来操作共享资源分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。...原创 2018-05-11 16:14:37 · 12253 阅读 · 3 评论 -
Spring Boot教程十二:集成Kafka
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于...原创 2018-07-09 15:33:53 · 10311 阅读 · 0 评论 -
Spring Boot教程十三:多数据源配置
场景:实际项目开发中经常会遇到需要从多个数据库中查询数据源的业务,这个时候就需要使用多数据源配置。这里不再强带pom依赖,主要的额引用为: <!--druid--> <dependency> <groupId>com.alibaba</groupId> <artifac...原创 2018-08-01 17:50:50 · 8129 阅读 · 0 评论 -
Spring Boot教程十四:基于自定义注解的AOP数据源自动切换
上一篇文章讲到了多数据源的配置和手动切换,手动切换费时费力,下面我们改进一下,改成基于注解的AOP数据源自动切换。基础知识不在赘述,直接上代码:public class DataSourceContextHolder { private static final ThreadLocal<String> contextHolder = new ThreadLocal&...原创 2018-08-03 11:30:12 · 9025 阅读 · 0 评论 -
Spring Boot教程十五:多线程
实际的开发应该开发过程中,经常需要使用到多线程,而且大多时候需要获取到每个线程执行的结果,然后再执行剩下的业务逻辑。具体实现如下;pom文件引用: <dependency> <groupId>com.google.guava</groupId> <artifactId>guava&...原创 2018-10-28 20:27:03 · 16867 阅读 · 0 评论 -
Spring Boot教程十六:SpringBoot注入类实现多线程
在使用springboot框架开发的过程中,难免也会用到多线程业务处理的需求,如果是普通的类实现多线程,那使用我们上一篇文章中的方法就足够了。但是大部分的使用环境是是我们需要将一个注入容器的实例类实现多线程,比如业务中要操作数据库调用其他方法等都难免要引用其他的实例。但是spring中的实例默认是单例的,针对这种情况我们应该怎么实现多线程呢,下面给大家用demo详细解释一下: 在spri...原创 2018-11-02 16:34:39 · 13454 阅读 · 2 评论 -
SpringBoot+Dubbo整合
此demo是SpringBoot中整合使用Dubbo,以及Mybaits;以达到分布式服务项目。项目结构如下图:分为三个项目,将service接口、service实现、web层分开。springboot-dubbo-api此项目为service接口层,主要放service接口、实体类、dto、枚举类、异常类等其它两个module中通用类和相关方法。springboot-dub...原创 2019-05-07 19:44:09 · 266 阅读 · 0 评论 -
Rabbitmq+WebSocket实现消息推送给web前端
后台应该框架使用的是springboot,必须的依赖如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId></dependency>&...原创 2018-05-11 12:00:04 · 27997 阅读 · 7 评论 -
SpringCloud教程十二:SpringBoot Admin监控应用
springboot admin,用于监控基于Spring Boot 的应用,并提供UI界面,是一个很好使,很方便的利器;项目要加入Admin监控目前主要有两中方式,一种是通过Admin client,另外一种就是通过eureka,将应用注册到eureka,他通过内置的zuul机制,可以读取到服务中心所有注册的应用,实现监控,本文主要介绍第二种方式。首先要有eureka的服务注册中心,这个在本系列...原创 2018-03-09 15:39:29 · 20216 阅读 · 2 评论 -
Spring Boot教程
Spring BootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。Spring Boot特点...原创 2017-12-07 10:15:53 · 8921 阅读 · 1 评论 -
Spring Boot教程一:工程构建
工程搭建本文工程搭建使用的工具: JDK1.8 Maven idea打开idea,新建一个project,然后右键工程,新建一个module,选择Spring Initializr 然后next,填写group、artifact ,然后next,选择web,next完成工程创建。 工程目录如下:- src -main -java原创 2017-12-07 11:20:10 · 11664 阅读 · 1 评论 -
Spring Boot教程二:读取配置文件
1:在application.properties中读取自定义属性的配置很简单,在这里不做过多的描述: 自定义属性与加载 例如定义如下属性:com.blog.title=Spring Boot教程然后通过@Value(“${属性名}”)注解来加载对应的配置属性,具体如下:@Componentpublic class BlogProperties { @Value("${com.blog原创 2017-12-07 13:09:48 · 10388 阅读 · 0 评论 -
Spring Boot教程三:log4j记录日志
springboot 自身整合了日志框架,但是对于习惯使用log4j的程序员来说,springboot也提供了很好的整合: 首先需要修改pom文件,去除springboot默认的日志框架,引入log4j支持。如下:<dependencies> <!--排除默认日志框架--> <dependency> <groupId>org.springfr原创 2017-12-07 15:44:46 · 9494 阅读 · 0 评论 -
Spring Boot教程四:使用Druid和监控配置
Druid是Java语言中最好的数据库连接池,并且能够提供强大的监控和扩展功能。 业界把 Druid 和 HikariCP 做对比后,虽说 HikariCP 的性能比 Druid 高,但是因为 Druid 包括很多维度的统计和分析功能,所以这也是大家都选择使用它的原因。 下面来说明如何在 SpringBoot 中配置使用Druid 1:修改pom文件,添加依赖:<dependencies>原创 2017-12-07 17:17:47 · 9154 阅读 · 0 评论 -
Spring Boot教程五:整合mybaits
mybatis框架已经成为一种大众普遍使用的数据库开发工具,因此,在这里我们就不讲其他的数据库连接操作方式了,直奔主题,整合mybaits: 首先修改pom文件,引入相关包: <dependencies> <!--排除默认日志框架--> <dependency> <groupId>org.springframework.boot</gr原创 2017-12-07 18:12:26 · 9090 阅读 · 0 评论 -
Spring Boot教程六:集成swagger2
Swagger™的目标是为REST APIs 定义一个标准的,与语言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下能发现和理解各种服务的功能。当服务通过Swagger定义,消费者就能与远程的服务互动通过少量的实现逻辑。类似于低级编程接口,Swagger去掉了调用服务时的很多猜测。 浏览 Swagger-Spec 去了解更多关于Swagger 项目的信息,包括附原创 2017-12-07 18:39:20 · 8602 阅读 · 0 评论 -
Spring Boot教程九:捕获全局异常(二)
1、在执行@RequestMapping时,进入逻辑处理阶段前。譬如传的参数类型错误@ControllerAdvicepublic class GlobalExceptionHandler extends ResponseEntityExceptionHandler{ /** * 在controller里面内容执行之前,校验一些参数不匹配啊,Get post方法不对啊之...原创 2018-02-10 13:22:14 · 8247 阅读 · 0 评论 -
Spring Boot教程十:数据库读写分离
文章实现一主两从的续写分离:工程目录首先pom文件<!--排除默认日志框架--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <excl...原创 2018-02-10 13:28:07 · 9722 阅读 · 1 评论 -
Spring Boot教程七:集成redis
redis在开发中常用于缓存,用户权限管理,消息队列等功能,今天学习一下springboot集成redis的方式,redis的安装启动可以百度到,这里只讲代码的实现方式。 首先,引入相关依赖: <!-- 添加redis支持 --> <dependency> <groupId>org.springframework.boot</groupId>原创 2017-12-13 16:57:29 · 8660 阅读 · 0 评论