spring加载流程和原理
spring加载流程和原理
Hi@Sunshine
真正的强者是不会被打败的!
展开
-
ThreadLocal
对于某一ThreadLocal来讲,他的索引值i是确定的,在不同线程之间访问时访问的是不同的table数组的同一位置即都为table[i],只不过这个不同线程之间的table是独立的。 对于同一线程的不同ThreadLocal来讲,这些ThreadLocal实例共享一个table数组,然后每个ThreadLocal实例在table中的索引i是不同的。...原创 2021-12-14 16:57:37 · 195 阅读 · 0 评论 -
springcloud整合Admin
一、整合Admin1、添加依赖(注意版本和springboot版本要一致,否则会报错,我的springboot版本是2.5.5)<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>.原创 2021-11-02 18:57:42 · 1068 阅读 · 0 评论 -
spring事务的传播行为详细理解
spring事务的传播行为详细理解一,spring七中事务传播行为 1、 REQUIRED:默认的传播特性,业务方法需要在一个事务中运行,如果一个方法已经处在一个事务中那么就加入到这个事务中,否则就会创建一个事务。 2、 NEVER:指定的业务方法绝对不能在事务范围内运行,如果业务方法在某个事务中执行,就会抛异常,只有业务方法没有任何事务才正常执行。 3、 MANDATORY:该属性指定业务方法只能在一个已经存在的事务中执行,业务方法不能自己发起自己的事务,如果业务方法不存在事务,容器就抛异原创 2021-02-14 19:46:20 · 447 阅读 · 0 评论 -
cglib代理
一、cglib代理cglib是一个强大、高性能的字节码生成库,它用于在运行时扩展Java类和实现接口;本质上它是通过动态的生成一个子类去覆盖所要代理的类(非final修饰的类和方法)。Enhancer可能是CGLIB中最常用的一个类,和jdk中的Proxy不同的是,Enhancer既能够代理普通的class,也能够代理接口。Enhancer创建一个被代理对象的子类并且拦截所有的方法调用(包括从Object中继承的toString和hashCode方法)。Enhancer不能够拦截final方法,例如O原创 2021-09-02 15:03:55 · 2293 阅读 · 0 评论 -
JDK动态代理
一、JDK动态代理(只能代理接口,不能代理类)主要用到这两个类 Proxy和InvocationHandlerProxy,通过这个类的newProxyInstance方法可以创建代理类的实例对象。InvocationHandler,动态代理类实现这个接口,可以对目标对象的方法进行处理二、实现接口package com.sunshine.boot.proxy.jdk;public interface IService { void test1();}实原创 2021-09-02 13:55:48 · 130 阅读 · 0 评论 -
spring中depend-on,primary和autowire-candidate
一、depend-on在某个bean注册之前需要依赖于其他bean注册完比如bean1在注册时需要依赖 beanScopeItem和threadScopeConfig注册完,才能注册@DependsOn(value = {"beanScopeItem","threadScopeConfig"})@Componentclass Bean1 { }二、primary和autowire-candidateprimary或者autowire-candidate 主要用于解决容器中原创 2021-09-02 10:57:11 · 312 阅读 · 0 评论 -
spring中自定义bean的作用域
一、自定义作用域需要实现Scope接口这块实现的作用域是线程级别的package com.sunshine.boot.common;import org.springframework.beans.factory.ObjectFactory;import org.springframework.beans.factory.config.Scope;import java.util.HashMap;import java.util.Map;import java.util.Object原创 2021-09-01 17:21:08 · 383 阅读 · 0 评论 -
spring中的配置文件导入多个bean.xml文件,有id相同的bean
例如在applicationx.xml,导入test1.xml和test2.xml 如下所示application.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context.原创 2021-04-11 17:12:53 · 832 阅读 · 0 评论