
spring
kgduu
这个作者很懒,什么都没留下…
展开
-
spring boot中condition相关注解
spring boot中condition相关注解原创 2022-09-23 21:14:15 · 415 阅读 · 0 评论 -
aop相关知识
aop相关知识原创 2022-09-23 21:13:07 · 308 阅读 · 0 评论 -
SpringBoot中的starter原理
SpringBoot中的starter原理原创 2022-09-01 09:37:10 · 111 阅读 · 0 评论 -
如何在应用层实现读写分离
如何在应用层实现读写分离原创 2022-08-24 09:34:33 · 431 阅读 · 0 评论 -
Spring之Lifecycle
主要用于在Spring中的bean加载完,实例化后,bean生命周期的管理 。原创 2022-07-07 22:40:25 · 433 阅读 · 0 评论 -
Autowired注解用于List时的现象解析
Autowired注解用于List时的现象解析原创 2022-07-05 22:10:25 · 930 阅读 · 0 评论 -
spring为什么要使用三级缓存来解决循环依赖?
spring为什么要使用三级缓存来解决循环依赖?转载 2022-07-04 21:57:38 · 1488 阅读 · 1 评论 -
spring中接收参数为日期,请求传递问题
spring中接收参数为日期,请求传递问题原创 2022-07-04 20:10:25 · 430 阅读 · 0 评论 -
自定义的参数解析器
1、自定义参数解析器在整个参数解析器中所位置是怎样的?在WebMvcConfigurationSupport通过getArgumentResolvers获取WebMvcConfigurer配置的参数解析器,用于设置RequestMappingHandlerAdapter的customArgumentResolversRequestMappingHandlerAdapter#afterPropertiesSet中调用getDefaultArgumentResolvers获取所有参数解析器,包含系.原创 2022-02-26 11:08:11 · 605 阅读 · 0 评论 -
@TransactionalEventListener与@Async实现事务提交后异步处理事件
@Aync是通过AsyncAnnotationBeanPostProcessor来处理。其在setBeanFactory会设置AsyncAnnotationAdvisor,其代码如下public void setBeanFactory(BeanFactory beanFactory) { super.setBeanFactory(beanFactory); AsyncAnnotationAdvisor advisor = new AsyncAnnotationAdvisor(this.exe原创 2022-02-22 21:43:06 · 2520 阅读 · 0 评论 -
RequestParam注解在required设置为true时失效
在请求参数为http://url?param时,RequestParam注解标记param为required时失败。原来原因分析注解解析时序图为当请求中只有请求参数,没有对其赋值时,会进入下面逻辑得到的字符串为""原创 2022-02-21 21:15:34 · 2702 阅读 · 0 评论 -
spring中的FactoryBean根据name获取实例
如果name是以&开始,则从容器中获取FactoryBean实例,否则是通过FactoryBean的getObject获取对象。protected Object getObjectForBeanInstance( Object beanInstance, String name, String beanName, @Nullable RootBeanDefinition mbd) { // Don't let calling code try to dereference the原创 2022-01-28 07:42:00 · 596 阅读 · 0 评论 -
spring mvc之HandlerMapping
1、Spring mvc初始化时会创建哪些HandlerMappingRequestMappingHandlerMapping,order为0 viewControllerHandlerMapping, order为1 beanNameHandlerMapping,原创 2022-01-25 21:30:47 · 1378 阅读 · 0 评论 -
spring中expression框架设计与实现
1、接口设计主要由ExpressionParser,ParserContext,Expression,EvaluationContex以及EvaluationContex相关组件(OperatorOverloader,TypeComparator,PropertyAccessor,ConstructorResolver,MethodResolver,BeanResolver, TypeLocator,TypeConverter)以及AST结点SpelNode组成...原创 2021-08-24 21:56:50 · 611 阅读 · 0 评论 -
spring中的ReflectionUtil
反射工具抽象类,处理方法及字段。主要通过MethodCallback,MethodFilter,FieldCallback,FieldFilter。其类结构如下原创 2021-11-29 20:57:27 · 1061 阅读 · 0 评论 -
@Component注解解析
是通过ClassPathScanningCandidateComponentProvider解析原创 2021-11-11 22:46:26 · 888 阅读 · 0 评论 -
spring中mvc的跨域访问
1、相关组件2、cors注册CorsRegistry:作为cors注册者,管理跨域配置。CorsRegistration:作为Cors的注册项,包含路径模式及对应的跨域配置CorsConfigurationSource:作为cors配置的提供者接口UrlBaseCorsConfigurationSource:是CorsConfigurationSource的一个具体实现3、Cors处理...原创 2021-11-09 22:24:10 · 1503 阅读 · 0 评论 -
RequestBodyAdvice和ResponseBodyAdvice
1、类层次结构原创 2021-11-07 12:03:26 · 1722 阅读 · 0 评论 -
spring中AnnotationUtils的设计
其相关类层次图原创 2021-08-20 08:00:36 · 204 阅读 · 0 评论 -
spring中bean的实例化
1、BeanDefinition的解析主要是解析class,factory-bean、factory-method三个与实体化方式相关的属性原创 2021-08-02 22:03:04 · 193 阅读 · 0 评论 -
spring中控制器和服务层校验的实现原理
1、控制器层是在RequestResponseBodyMethodProcessor中处理的2、服务层是通过MethodValidationPostProcessor来处理,当中使用AOP来实现的原创 2021-07-07 07:35:50 · 196 阅读 · 0 评论 -
spring中的Aware
Aware接口有ApplicationContextAware ApplicationEventPublisherAware BeanClassLoaderAware BeanFactoryAware BeanNameAware LoadTimeWeaverAware MessageSourceAware NotificationPublisherAware ResourceLoaderAware Ser...原创 2021-06-26 12:36:57 · 366 阅读 · 0 评论 -
spring mvc中filter的设计与实现
抽象类GenericFilterBean:是javax.servlet.Filter的简单基本实现,将配置参数init-param(web.xml中的fitler标签的)作为bean属性OncePerRequestFilter:过滤器基类,旨在在任意servlet容器中保证每次请求调度都能执行一次。提供doFilterInternal方法...原创 2021-04-24 19:06:29 · 398 阅读 · 0 评论 -
TaskExecutor设计与实现
1、类层次图原创 2021-04-24 18:09:52 · 225 阅读 · 0 评论 -
spring中Validation设计与实现
1、接口Validator:支持是否做校验,校验时输出信息(Errors接口)Errors:错误信息(对象错误或者字段错误)及数据绑定信息原创 2021-04-22 07:31:36 · 303 阅读 · 1 评论 -
spring中自定义Bean的性质
spring框架提供了接口来自定义Bean的性质,包含生命周期回调 ApplicationContextAware和BeanNameAware 其它Aware接口1、生命周期回调1.1 初始化回调实现InitializingBean接口。不推荐使用,因为存在耦合。建议使用@PostConstruct注解或者基于xml时使用init-method属性指定初始化方法1.2 销毁回调实现DisposableBean接口。推荐使用@PreDestroy或者xml配置时的destro原创 2021-04-17 20:12:13 · 194 阅读 · 0 评论 -
spring中@Transaction注解解析
首先是会自动创建事务的Advisor1、创建事务Advisor是如何开始的?在Spring boot的TransactionAutoConfiguration中有开启@EnableTransactionManagement。@EnableTransactionManagement注解主要是通过TransactionManagementConfigurationSelector来导入其他BeanProxyTransactionManagementConfiguration来添加BeanFa原创 2021-04-17 11:36:46 · 424 阅读 · 0 评论 -
spring中的单例工厂SingletonBeanRegistry设计与实现
单例工厂接口为SingletonBeanRegistry,主要是单例的注册,其默认实现为DefaultSingletonBeanRegistry1、类层次图原创 2021-04-12 21:42:24 · 286 阅读 · 0 评论 -
spring boot中SpringBootCondition框架
1、类层次结构原创 2021-04-09 07:43:36 · 141 阅读 · 0 评论 -
condition框架设计与实现
condition是spring当中的条件框架。可以用于基于条件来决定是否创建Bean,如@Profile以及Spring boot中的@Conditionalxxx注解1、类层次图原创 2021-04-08 22:05:07 · 250 阅读 · 0 评论 -
ConfigurationClassPostProcessor设计与实现
1、类结构图原创 2021-04-06 22:50:46 · 192 阅读 · 0 评论 -
spring中Converter如何注入的
1、概要spring boot框架中定义的类型为Converter的Bean是如何注入到Spring框架中的,主要是通过DefaultFormattingConversionService来完成的。2、spring boot中自动配置在WebMvcAutoConfiguration中的定义了mvcConversionService,创建WebConversionService(继承自DefaultFormattingConversionService),addFormatters中会调用Appl原创 2021-03-18 07:32:03 · 957 阅读 · 0 评论 -
spring中@Value的注解解析
@Value的注解是通过AutowiredAnnotationBeanPostProcessor来处理的。其处理时序为其构造函数中添加了支持的注解类型AutowireCandidateResolver是在什么时候设置的?是在AnnotationConfigUtils中设置的在解析Value的值是,是通过StringValueResolver来解析的,是在何处设置的embeddedValueResolvers?是在AbstractApplicationContext中的f原创 2021-03-14 22:02:35 · 627 阅读 · 1 评论 -
spring中的AnnotationConfigUtils
1、概要AnnotationConfigUtils作为抽象类作为静态方法来使用,其主要是注册一些公共的BeanPostProcessor及BeanFactoryPostProcessor及处理一些公共的注解。像AnnotataionConfigApplicationContext基于注解的上下文初始化时会调用到。2、注册处理器主要包括ConfigurationClassPostProcessor、AutowiredAnnotationBeanPostProcessor、CommonAnnotat原创 2021-03-14 21:15:20 · 762 阅读 · 0 评论 -
spring中的BeanFactoryPostProcessor
1、类结构图原创 2021-03-14 20:57:48 · 183 阅读 · 0 评论 -
spring中事务的设计和实现
1、事务中的抽象设计主要由TransactionMangager,TransactionDefinition,TransactionStatus和TransactionAttributeSource抽象来完成TransactionMagager的层次结构TransactionDefinition的层级结构TransactionStatus的层次结构TransactionAttributeSource的层级结构其整体依赖关系如下图...原创 2021-03-01 22:57:27 · 331 阅读 · 0 评论 -
spring jdbc设计与实现
jdbc主要依赖于抽象类JdbcOperations及一些creator,setter、Callback抽象来构建基础模型,通过JdbcTemplate模板方法设计模式来达到具体操作1、类层次结构2、JdbcTemplte的execute时序3、JdbcTemplate的query时序...原创 2021-01-03 21:02:06 · 186 阅读 · 0 评论 -
spring中environment设计与实现
1、environment类层次原创 2020-12-25 22:37:41 · 259 阅读 · 0 评论 -
spring中是如何解析@Profile注解的
profile注解定义为@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documented@Conditional(ProfileCondition.class)public @interface Profile { /** * The set of profiles for which the annotated component should be regist原创 2020-12-24 00:09:50 · 251 阅读 · 0 评论 -
spring mvc框架设计与实现
spring mvc框架通过DispatcherServlet来作请示分发,主要由HandlerMapping,HandlerAdapter,HandlerInterceptor三个抽象来完成。通过HandlerMapping得到HandlerExcecutionChain,其主要由HandlerInterceptor及对应的handler构成,HandlerAdapter来适配handler.1、HandlerMapping类层次2、HandlerInterceptor类层次设计3、.原创 2020-12-23 22:59:59 · 773 阅读 · 0 评论