请叫我头头哥

随笔分类 -  Spring Boot

摘要:请叫我头头哥在某些特殊的情况下,Bean需要实现某个功能,但该功能必须借助于Spring容器才能实现,此时就必须让该Bean先获取Spring容器,然后借助于Spring容器实现该功能。为了让Bean获取它所在的Spring容器,可以让该Bean实现ApplicationContextAware接口。ApplicationContextAware 通过它Spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationContext方法。在ApplicationContextAware的实现类中,就可以通过这个上下文环境对象得到Spring容器中的Bean。看到—Aware...... 阅读全文
posted @ 2021-01-01 21:14 请叫我头头哥 阅读(15188) 评论(1) 推荐(7)
摘要:请叫我头头哥前面两篇文章nginx限流配置和SpringBoot进阶教程(六十七)RateLimiter限流,我们介绍了如何使用nginx和RateLimiter限流,这篇文章介绍另外一种限流方式---Sentinel。Sentinel 是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。历次在双十一大促等核心场景的应用更是使其大放异彩。今天就来介绍介绍Alibaba sentinel。 阅读全文
posted @ 2020-12-26 21:25 请叫我头头哥 阅读(2764) 评论(0) 推荐(3)
摘要:请叫我头头哥在上一篇文章nginx限流配置中,我们介绍了如何使用nginx限流,这篇文章介绍另外一种限流方式---RateLimiter。在早期的计算机领域,限流技术(time limiting)被用作控制网络接口收发通信数据的速率。 可以用来优化性能,减少延迟和提高带宽等。 现在在互联网领域,也借鉴了这个概念, 用来为服务控制请求的速率, 如果双十一的限流, 12306的抢票等。 即使在细粒度的软件架构中,也有类似的概念。系统使用下游资源时,需要考虑下游对资源受限、处理能力,在下游资源无法或者短时间内无法提升处理性能的情况下,可以使用限流器或者类似保护机制,避免下游服务崩溃造成整体服务的不可用。 阅读全文
posted @ 2020-12-20 21:28 请叫我头头哥 阅读(14309) 评论(2) 推荐(6)
摘要:请叫我头头哥详解docker部署SpringBoot及如何替换jar包 阅读全文
posted @ 2020-12-05 21:11 请叫我头头哥 阅读(434) 评论(0) 推荐(0)
摘要:请叫我头头哥在上一篇文章《SpringBoot最全注解手册》中介绍了springboot的常用注解,springboot提供的注解非常的多,这些注解简化了我们的很多操作。今天主要介绍介绍自定义注解。自spring4.0开放以来,自定义注解非常常见,项目中都会或多或少的使用自定义注解,我们的demo中主要针对登录校验来介绍如何量身定制自定义注解。 阅读全文
posted @ 2020-11-15 21:36 请叫我头头哥 阅读(1570) 评论(1) 推荐(2)
摘要:请叫我头头哥在Spring1.x时代,还没出现注解,需要大量xml配置文件并在内部编写大量bean标签。Java5推出新特性annotation,为spring的更新奠定了基础。从Spring 2.X开始spring将xml配置中的对象ioc过程转化成了注解。Spring Boot之所以能够轻松地实现应用的创建及与其他框架快速集成,最核心的原因就在于它极大地简化了项目的配置,最大化地实现了“约定大于配置”的原则。但是注解种类之繁多,还能容易引起混淆,这才有了本文《SpringBoot最全注解手册》。要想对SpringBoot注解有个更全面更清晰的认识,就需要分个类,分别是Spring注解、Spring Web注解、Spring Boot注解、Spring Scheduling注解和注解集合。大致可以将注解分为5大类。 阅读全文
posted @ 2020-11-14 21:56 请叫我头头哥 阅读(2688) 评论(0) 推荐(2)
摘要:SpringBoot进阶教程(六十三)Jasypt配置文件加密数据库密码直接明文写在配置中,对安全来说,是一个很大的挑战。一旦密码泄漏,将会带来很大的安全隐患。尤其在一些企业对安全性要求很高,因此我们就考虑如何对密码进行加密。本文着重介绍Jasypt对SpringBoot配置文件加密。 阅读全文
posted @ 2020-08-09 21:42 请叫我头头哥 阅读(7987) 评论(0) 推荐(4)
摘要:SpringBoot入门教程()controller 之间实现跳转如下图,创建两个控制器来测试跳转效果。以下所有跳转方式均以这两个控制器为实例。 阅读全文
posted @ 2020-03-14 20:14 请叫我头头哥 阅读(5054) 评论(0) 推荐(1)
摘要:SpringBoot进阶教程(六十二)整合Kafka在上一篇文章《Linux安装Kafka》中,已经介绍了如何在Linux安装Kafka,以及Kafka的启动/关闭和创建发话题并产生消息和消费消息。这篇文章就介绍介绍SpringBoot整合Kafka。 阅读全文
posted @ 2019-10-07 22:25 请叫我头头哥 阅读(23187) 评论(2) 推荐(11)
摘要:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 阅读全文
posted @ 2019-08-31 23:03 请叫我头头哥 阅读(32001) 评论(1) 推荐(0)
摘要:SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构(下)在上一篇文章《SpringBoot进阶教程(六十)intellij idea project下建多个module(上)》中,我们已经介绍了在intellij idea中创建project之后再分化多个module,今天再大致介绍介绍各个module之间详细工作的细分。 如果是不考虑细分多个module的话,可以看看这篇文章《SpringBoot入门教程(一)详解intellij idea搭建SpringBoot》。 阅读全文
posted @ 2019-08-25 22:32 请叫我头头哥 阅读(2582) 评论(0) 推荐(4)
摘要:SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构(上)在 IntelliJ IDEA 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了Project和Module这两个概念。多module有一个父maven工程,多个子工程。在多个子工程中,可能有一个web工程,也可能有多个web工程。这样的好处在于大大解耦各个module之间的关系, 我们可以把service的module打成jar包,提供给其他项目使用。 阅读全文
posted @ 2019-08-24 21:36 请叫我头头哥 阅读(5314) 评论(0) 推荐(2)
摘要:SpringBoot进阶教程(五十九)整合Codis上一篇博文《详解Codis安装与部署》中,详细介绍了codis的安装与部署,这篇文章主要介绍介绍springboot整合codis。如果之前看过《SpringBoot进阶教程(五十二)整合Redis》的话,那么springboot整合codis将会显得非常容易。 阅读全文
posted @ 2019-06-09 22:18 请叫我头头哥 阅读(2765) 评论(1) 推荐(0)
摘要:SpringBoot进阶教程(三十)整合Redis之Sentinel哨兵模式Redis-Sentinel是官方推荐的高可用解决方案,当redis在做master-slave的高可用方案时,假如master宕机了,redis本身(以及其很多客户端)都没有实现自动进行主备切换,而redis-sentinel本身也是独立运行的进程,可以部署在其他与redis集群可通讯的机器中监控redis集群。监控(Monitoring): 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常。提醒(Notification):当被监控的某个Redis节点出现问题时, 哨兵(sentinel) 可以通过 API 向管理员或者其他应用程序发送通知。 阅读全文
posted @ 2019-04-27 23:05 请叫我头头哥 阅读(43215) 评论(0) 推荐(3)
摘要:SpringBoot进阶教程(二十九)整合Redis 发布订阅SUBSCRIBE, UNSUBSCRIBE 和 PUBLISH 实现了 发布/订阅消息范例,发送者 (publishers) 不用编程就可以向特定的接受者发送消息 (subscribers). Rather, 发布的消息进入通道,不需要知道有没有订阅者. 订阅者发表感兴趣的一个或多个通道,并且只接受他们感兴趣的消息,不管发布者是不是存在. 发布者和订阅者的解耦可以允许更大的伸缩性和更多动态的网络拓扑。关于发布订阅(消息队列)之前也过一篇《SpringBoot进阶教程(二十二)集成RabbitMQ---MQ实战演练》。感兴趣的可以看看。今天说的发布订阅,是基于Redis的。 阅读全文
posted @ 2019-02-23 22:31 请叫我头头哥 阅读(6756) 评论(1) 推荐(1)
摘要:Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFaUnable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing Embedd 阅读全文
posted @ 2019-02-17 22:38 请叫我头头哥 阅读(9830) 评论(0) 推荐(0)
摘要:SpringBoot进阶教程(二十八)整合Redis事物Redis默认情况下,事务支持被禁用,必须通过设置setEnableTransactionSupport(true)为使用中的每个redistplate显式启用。这样做会强制将当前重新连接绑定到触发multi的当前线程。如果事务完成时没有出错,则调用exec。否则将调用Discard。一旦进入多个重新连接队列,则写入操作。所有只读操作(如键)都通过管道连接到新的(非线程绑定的)重新连接。 阅读全文
posted @ 2019-02-16 22:18 请叫我头头哥 阅读(1356) 评论(0) 推荐(1)
摘要:SpringBoot进阶教程(二十七)整合Redis之分布式锁在之前的一篇文章(《Java分布式锁,搞懂分布式锁实现看这篇文章就对了》),已经介绍过几种java分布式锁,今天来个Redis分布式锁的demo。redis 现在已经成为系统缓存的必备组件,针对缓存读取更新操作,通常我们希望当缓存过期之后能够只有一个请求去更新缓存,其它请求依然使用旧的数据。这就需要用到锁,因为应用服务多数以集群方式部署,因此这里的锁就必需要是分布式锁才能符合需求。 阅读全文
posted @ 2019-02-11 23:28 请叫我头头哥 阅读(18031) 评论(4) 推荐(6)
摘要:SpringBoot进阶教程(二十六)整合Redis之共享Session集群现在越来越常见,当我们项目搭建了集群,就会产生session共享问题。因为session是保存在服务器上面的。那么解决这一问题,大致有三个方案,1.通过nginx的负载均衡其中一种ip绑定来实现(通过ip绑定服务器其中一台,就没有集群概念了);2.通过cookie备份session实现(因为cookie数据保存在客户端,不推荐;3.通过redis备份session实现(推荐); 阅读全文
posted @ 2019-01-27 22:32 请叫我头头哥 阅读(2317) 评论(2) 推荐(1)
摘要:SpringBoot进阶教程(二十五)整合Redis之@Cacheable、@CachePut、@CacheEvict的应用在上一篇文章(《SpringBoot(二十四)整合Redis》)中,已经实现了Spring Boot对Redis的整合,既然已经讲到Cache了,今天就介绍介绍缓存注解。各家互联网产品现在数据量越来越大,其快速增长造成网络拥塞和服务器超载,导致客户访问延迟增大,服务质量日益显现出来。缓存技术被认为是减轻服务器负载、降低网络拥塞、增强可扩展性的有效途径之一。 阅读全文
posted @ 2019-01-20 22:16 请叫我头头哥 阅读(18554) 评论(0) 推荐(4)

//Setting ico for cnblogs