![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springboot
文章平均质量分 81
旭出东方旭出东方旭出东方旭出东方旭出东方
这个作者很懒,什么都没留下…
展开
-
springboot + aop + Lua分布式限流的最佳实践
一、什么是限流?为什么要限流?不知道大家有没有做过帝都的地铁,就是进地铁站都要排队的那种,为什么要这样摆长龙转圈圈?答案就是为了限流!因为一趟地铁的运力是有限的,一下挤进去太多人会造成站台的拥挤、列车的超载,存在一定的安全隐患。同理,我们的程序也是一样,它处理请求的能力也是有限的,一旦请求多到超出它的处理极限就会崩溃。为了不出现最坏的崩溃情况,只能耽误一下大家进站的时间。限流是保证系统高可用的重要手段!!!由于互联网公司的流量巨大,系统上线会做一个流量峰值的评估,尤其是像各种秒杀促销活动,为了保证系转载 2021-07-19 11:29:29 · 270 阅读 · 0 评论 -
Feign负载均衡
概述Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡Feign能干什么Feign旨在使编写Java Http客户端变得更原创 2021-07-05 15:25:23 · 344 阅读 · 0 评论 -
SpringBoot中的SmartInitializingSingleton接口及其使用
转载:SpringBoot中的SmartInitializingSingleton接口及其使用一、使用场景实现SmartInitializingSingleton的接口后,当所有单例 bean 都初始化完成以后, Spring的IOC容器会回调该接口的 afterSingletonsInstantiated()方法。主要应用场合就是在所有单例 bean 创建完成之后,可以在该回调中做一些事情,例如:import org.springframework.beans.factory.ListableBe转载 2021-07-02 10:46:38 · 334 阅读 · 0 评论 -
使用@AutoConfigureBefore、After、Order调整Spring Boot自动配置顺序
转自:使用@AutoConfigureBefore调整配置顺序竟没生效?前言Spring Boot是Spring家族具有划时代意义的一款产品,它发展自Spring Framework却又高于它,这种高于主要表现在其最重要的三大特性,而相较于这三大特性中更为重要的便是Spring Boot的自动配置(AutoConfiguration)。与其说是自动,倒不如说是“智能”,该框架看起来好像“更聪明”了。因此它也顺理成章的成为了构建微服务的基础设施,稳坐第一宝座。生活之道,在于取舍。编程何尝不是,任何决定都转载 2021-04-21 18:35:54 · 259 阅读 · 0 评论 -
spring-boot-configuration-processor 是干啥用的
转自:卡梅丽多 >> spring-boot-configuration-processor 是干啥用的spring默认使用yml中的配置,但有时候要用传统的xml或properties配置,就需要使用spring-boot-configuration-processor了引入pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>转载 2021-04-21 09:21:43 · 610 阅读 · 0 评论 -
注解处理器(编译期|RetentionPolicy.SOURCE)
注解的处理除了可以在运行时通过反射机制处理外,还可以在编译期进行处理。在编译期处理注解时,会处理到不再产生新的源文件为止,之后再对所有源文件进行编译。Java5中提供了apt工具来进行编译期的注解处理。apt是命令行工具,与之配套的是一套描述“程序在编译时刻的静态结构”的API:Mirror API(com.sun.mirror.*)。通过Mirror API可以获取到被注解的Java类型元素的信息,从而提供自定义的处理逻辑。具体的处理工具交给apt来处理。编写注解处理器的核心是两个类:注解处理器(com转载 2021-04-19 10:38:45 · 538 阅读 · 0 评论 -
注解@EnableAspectJAutoProxy(exposeProxy = true) exposeProxy 的用法
假设一个接口里面有两个方法:package demo.long;public interface CustomerService { public void doSomething1(); public void doSomething2(); } 接口实现类如下:package demo.long.impl;import demo.long.CustomerService; @Servicepublic class CustomerServiceImpl转载 2020-12-31 16:43:51 · 12309 阅读 · 1 评论 -
Swagger2 API接口管理
随着微服务架构体系的发展和应用, 为了前后端能够更好的集成与对接,同时为了项目的方便交付,每个项目都需要提供相应的API文档。来源:PC端、微信端、H5端、移动端(安卓和IOS端)对API文档进行更新的时候,需要通知前端开发人员,导致文档更新交流不及时;API接口返回信息不明确大公司中肯定会有专门文档服务器对接口文档进行更新。缺乏在线接口测试,通常需要使用相应的API测试工具,比如postman、SoapUI等接口文档太多,不便于管理为了解决传统API接口文档维护的问题,为了方便进行测试后台R原创 2020-12-23 11:38:47 · 229 阅读 · 0 评论 -
spring扩展
BeanDefinitionRegistryPostProcessor这个类需要与@Import和@Configuration共同配合使用。一般来说@Import可以导入三种bean普通的bean classImportSelector 这个类可以通过自定义一些条件来控制classpath中需要导入的classImportBeanDefinitionRegistrar这个类可以通过代码来动态加载bean,这些bean可以是普通的定义好的class也可以是动态代理。通过查看代码我们可以知道.原创 2020-12-23 11:08:42 · 211 阅读 · 0 评论 -
Spring AOP
什么是AOP编程AOP: Aspect Oriented Programming 面向切面编程。 面向切面编程(也叫面向方面):Aspect Oriented Programming(AOP),是目前软件开发中的一个热点。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 AOP是OOP的延续,是(Aspect Oriented Programming)的缩写,意思是面向切面(方面)编程。 主要的功能是:日志记录,性能原创 2020-12-22 11:28:15 · 106 阅读 · 0 评论 -
spring自动装配
@Autowired&@Qualifier&@Primary自动装配;Spring利用依赖注入(DI),完成对IOC容器中中各个组件的依赖关系赋值;1)、@Autowired:自动注入默认优先按照类型去容器中找对应的组件:applicationContext.getBean(BookDao.class);找到就赋值如果找到多个相同类型的组件,再将属性的名称作为组件的id去容器中查找 applicationContext.getBean(“bookDao”)@Qualifier(转载 2020-12-22 09:52:45 · 90 阅读 · 0 评论 -
spring属性赋值
@Value赋值public class Person { //使用@Value赋值; //1、基本数值 //2、可以写SpEL; #{} //3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值) @Value("张三") private String name; @Value("#{20-2}") private Integer age; }@Configurationpublic class MainConfi转载 2020-12-22 09:31:25 · 62 阅读 · 0 评论 -
spring bean 生命周期
@Bean指定初始化和销毁方法@Componentpublic class Car { public Car(){ System.out.println("car constructor..."); } public void init(){ System.out.println("car ... init..."); } public void detory(){ System.out.println("car ... detory..."转载 2020-12-21 14:15:57 · 85 阅读 · 0 评论