spring
文章平均质量分 73
springboot/springcloud
Alice_whj
记录生活点点滴滴
展开
-
Sentinel 与 hystrix
缺点是除了增加了线程切换的成本(过多的线程池导致线程数目过多),还需要预先给各个资源做线程池大小的分配。和资源池隔离的方法不同,Sentinel 通过限制资源并发线程的数量,来减少不稳定资源对其它资源的影响。当某个资源出现不稳定的情况下,例如响应时间变长,对资源的直接影响就是会造成线程数的逐步。当依赖的资源出现响应时间过长后,所有对该资源的访问都会被直接拒绝,直到过了指定的时间窗口之后才重新恢复。当线程数在特定资源上堆积到一定的数量之后,对该资源的新请求就会被拒绝。堆积的线程完成任务后才开始继续接收请求。原创 2024-05-26 16:08:02 · 311 阅读 · 0 评论 -
spring自动配置
b站详解视频原创 2024-05-26 13:31:59 · 147 阅读 · 0 评论 -
怎样解决循环依赖
原文链接@Servicepublic class TestService1 { @Autowired private TestService2 testService2; @Async public void test1() { }}@Servicepublic class TestService2 { @Autowired private TestService1 testService1; public void tes转载 2021-10-16 21:55:11 · 7342 阅读 · 0 评论 -
94 设计模式(极客)
1.单例创建一个单例//懒汉模式 + synchronized同步锁 + double-checkpublic final class Singleton { private volatile static Singleton instance= null;//不实例化 public List<String> list = null;//list属性 private Singleton(){ list = new ArrayList<String&原创 2021-05-31 21:32:36 · 218 阅读 · 0 评论 -
mybatis面试题集锦
通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?Dao接口,就是人们常说的Mapper接口,接口的全限名,就是映射文件中的namespace的值,接口的方法名,就是映射文件中MappedStatement的id值,接口方法内的参数,就是传递给sql的参数。Mapper接口是没有实现类的,当调用接口方法时,接口全限名+方法名拼接字符串作为key值,可唯一定位一个MappedStatementcom.mybatis3.原创 2022-02-26 16:54:34 · 610 阅读 · 0 评论 -
72 Spring Security 的基本组件 SecurityContextHolder
Spring Security 中最基本的组件应该是SecurityContextHolder了。这是一个工具类,只提供一些静态方法。这个工具类的目的是用来保存应用程序中当前使用人的安全上下文。缺省情况下,SecurityContextHolder使用了ThreadLocal机制来保存每个使用者的安全上下文。这意味着,只要针对某个使用者的逻辑执行都是在同一个线程中进行,即使不在各个方法之间以参数...转载 2020-03-16 14:27:35 · 577 阅读 · 0 评论 -
74 springboot的ApplicationContext/ContextRefreshedEvent
Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口。他们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并且管理容器中的Bean。Bean是Spring管理的基本单位,在基于Spring的Java EE应用中,所有的组件都被当成Bean处理,包括数据源、Hibern...转载 2020-03-17 17:50:34 · 836 阅读 · 0 评论 -
spring 权限PermissionEvaluator
Spring Security——基于表达式的权限控制Spring Security允许我们在定义URL访问或方法访问所应有的权限时使用Spring EL表达式,在定义所需的访问权限时如果对应的表达式返回结果为true则表示拥有对应的权限,反之则无。通过表达式控制方法权限Spring Security中定义了四个支持使用表达式的注解,分别是@PreAuthorize、@PostAuthor...转载 2020-03-18 17:28:18 · 2892 阅读 · 0 评论 -
80 SpringMVC框架
springMVC请求流程详解DispatchServlet接收到请求后,会根据顺序遍历Spring容器中的HandlerMapping对象(可以注册多个HandlerMapping处理器映射器对象),根据每个HandlerMapping对象的映射规则找到对应的处理器Controller和处理方法,如当遍历到RequestMappingHandlerMapping对象时,RequestMapp...原创 2020-05-06 11:20:23 · 190 阅读 · 0 评论 -
76 微服务设计原则
设计原则之并发流量控制大流量一般的衡量指标就是系统的 TPS (每秒事务量)和 QPS (每秒请求量〉。一般的应对方案包括:缓存预先准备好数据,减少对数据库的请求。降级如果不是核心链路,那么就把这个服务降级,保证主干畅通。限流在一定时间内把请求限制在一定范围内,保证系统不被冲垮,同时尽可能提升系统的吞吐量。 限流的方式有几种,最简单的就是使用计数器,在 段时间内,进行计数,与阔...原创 2020-04-05 19:46:44 · 296 阅读 · 0 评论 -
spring项目上一些总结
Spring 控制反转一个应用 /** * 将一个对象的非空值设置给另一个对象。需要指定设置的属性类型或者属性名称。 * * @param target 被设置值的目标对象 * @param source 值的来源对象 * @param types 属性类型在types中包含,则进行设置 * @param attributes 属性名称...转载 2020-03-16 18:01:01 · 299 阅读 · 0 评论 -
67 spring基础知识
SpringAOP通知(Advice)通知定义了要织入目标对象的逻辑,以及执行时机。Spring 中对应了 5 种不同类型的通知:· 前置通知(Before):在目标方法执行前,执行通知· 后置通知(After):在目标方法执行后,执行通知,此时不关系目标方法返回的结果是什么· 返回通知(After-returning):在目标方法执行后,执行通知· 异常通知(After-throw...原创 2020-03-03 18:13:17 · 127 阅读 · 0 评论 -
mybatis总结
MyBatis 的工作原理某个讲解连接1)读取 MyBatis 配置文件:mybatis-config.xml 为 MyBatis 的全局配置文件,配置了 MyBatis 的运行环境等信息,例如数据库连接信息。2)加载映射文件。映射文件即 SQL 映射文件,该文件中配置了操作数据库的 SQL 语句,需要在 MyBatis 配置文件 mybatis-config.xml 中加载。mybatis...原创 2020-03-03 15:02:35 · 121 阅读 · 1 评论 -
46 SpringDataJpa Specification接口用法
原文链接:https://blog.csdn.net/bird_tp/article/details/83654789Specification是springDateJpa中的一个接口,用于当jpa的一些基本CRUD操作的扩展,即spring jpa的复杂查询接口。Criteria 查询,是一种类型安全和更面向对象的查询。而Spring Data JPA支持JPA2.0的Criteria查询,相...转载 2020-01-03 19:38:12 · 989 阅读 · 0 评论 -
47 springboot读项目零散知识笔记
注解: @MappedSuperclass1.@MappedSuperclass注解使用在父类上面,是用来标识父类的作用2.@MappedSuperclass标识的类表示其不能映射到数据库表,因为其不是一个完整的实体类,但是它所拥有的属性能够映射在 其子类对用的数据库表中3.@MappedSuperclass标识得类不能再有@Entity或@Table注解 但是可以使用@Id 和@...原创 2020-01-06 14:32:39 · 163 阅读 · 0 评论 -
29 Spring AOP
AOP是面向切面编程,主要思想是在程序正常执行的某一个点切进去加入特定的逻辑。AOP框架的基本原理基本上都是通过代理的方式对目标对象达到切入式的切面编程的效果,**Spring Aop只能对它自身bean容器中定义的bean对象进行代理,**这算是Spring Aop的一个限制,如果你的项目中不使用Spring的IOC,使用Spring的Aop显然是有点不那么合适的。Spring Aop中使用的代...原创 2019-12-13 16:45:39 · 129 阅读 · 0 评论 -
23 springboot上redis配置新建写法
代码:@Configuration@PropertySource("classpath:redis.properties")@Slf4jpublic class RedisConfig { @Value("${redis.hostName}") private String hostName; @Value("${redis.password}") priv...原创 2019-12-05 10:15:07 · 123 阅读 · 0 评论 -
25 Springboot 之事务@Transactional
Spring 事务管理分为编码式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件(xml)中做相关的事务规则声明,另一种是基于@Transactional 注解的方式。@Transactional 注解管理事务的实现步...转载 2019-12-09 15:03:04 · 237 阅读 · 1 评论 -
22 springboot中对redis操作的源码解析
RedisTemplate redis=(RedisTemplate)SpringUtil.getBean("redisTemplate"); redis.opsForValue().set("key1","value1",20, TimeUnit.HOURS); if(redis.hasKey("key1")){ Long left=redi...原创 2019-12-04 20:37:02 · 583 阅读 · 0 评论 -
MyBatis详解
转载:原文链接:https://blog.csdn.net/hellozpc/article/details/80878563https://www.cnblogs.com/atwanli/articles/4746349.htmlJDBCJDBC查询数据库数据,一般需要以下七个步骤:(1) 加载JDBC驱动(2) 建立并获取数据库连接(3) 创建 JDBC Statement...转载 2019-12-06 14:29:44 · 160 阅读 · 1 评论 -
16 Spring常用注解
Spring部分1、声明bean的注解@Component 组件,没有明确的角色@Service 在业务逻辑层使用(service层)@Repository 在数据访问层使用(dao层)@Controller 在展现层使用,控制器的声明(C)2、注入bean的注解@Autowired:由Spring提供@Inject:由JSR-330提供@Resource:由JSR-250提供...转载 2019-11-27 17:49:59 · 92 阅读 · 0 评论 -
双亲委派机制
原创 2022-03-07 23:20:51 · 101 阅读 · 0 评论 -
Tomcat 集成大秘籍
Tomcat顶层架构Tomcat中最顶层的容器是Server,代表着整个服务器,从上图中可以看出,一个Server可以包含至少一个Service,用于具体提供服务。Service主要包含两个部分:Connector和Container。从上图中可以看出 Tomcat 的心脏就是这两个组件,他们的作用如下:Connector用于处理连接相关的事情,并提供Socket与Request和Response相关的转化;Container用于封装和管理Servlet,以及具体处理Request请求;一个To原创 2022-05-31 16:57:19 · 130 阅读 · 0 评论 -
Slf4j
1原创 2022-09-16 15:39:28 · 199 阅读 · 0 评论 -
spring事务
Spring @Transactional1> 事务注解方式: @Transactional标注在类前:标示类中所有方法都进行事务处理标注在接口、实现类的方法前:标示方法进行事务处理只针对方法名的特定进行拦截,但无法利用方法签名的其它信息定位,如修饰符、返回值、方法入参、异常类型等。如果我们需要为同名不同参的同载方法配置不同事务就会出问题了。Spring事务失效的几种原因1、spring的事务注解@Transactional只能放在public修饰的方法上才起作用,如果放在其他非pub原创 2022-02-24 23:54:44 · 83 阅读 · 0 评论 -
spring源码
Aware的作用?原创 2022-04-20 09:39:34 · 70 阅读 · 0 评论 -
spring cloud 视频
原创 2022-03-07 22:57:32 · 74 阅读 · 0 评论 -
spring框架终极版
spring原创 2023-04-24 20:29:27 · 61 阅读 · 0 评论 -
spring面试题笔记
2、AsyncLogger是采用Disruptor,通过环形队列无阻塞队列作为缓冲,多生产者多线程的竞争是通过CAS实现,无锁化实现,可以降低极端大的日志量时候的延迟尖峰,Disruptor 可是号称一个线程里每秒处理600万订单的高性能队列。slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,它的接口并不能独立使用,需要和具体的日志框架实现配合使用(如log4j、logback、log4j2)。我们在项目中经常使用一个叫SLF4J的依赖,它是做什么的呢?原创 2023-11-05 19:06:52 · 303 阅读 · 0 评论 -
Spring IOC/bean/AOP
1.Spring启动时读取应用程序提供 Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表;2.根据这张注册表实例化Bean;3.通过配置文件装配好Bean之间的依赖关系,放到Bean缓存池,为上层应用提供准备就绪的运行环境。Bean缓存池:通过hashMap实现1.1 IOC容器介绍Spring通过一个配置文件描述 Bean 及 Bean 之间的依赖关系(依赖注入通过反射功能)。Spring的IOC容器在完成这些底层工作的基础上,还提供了Bean实例缓存、生命周期管理、B.原创 2022-02-27 12:14:58 · 402 阅读 · 0 评论