Spring
文章平均质量分 75
Spring学习
小徐也要努力鸭
逝者如斯夫,不舍昼夜!!!
展开
-
Spring:EnclosingClass工具类分辨
通过Spring的工具分辨EnclosingClass类。原创 2024-03-03 19:04:39 · 489 阅读 · 0 评论 -
Spring:FactoryBean预加载逻辑以及自定义实现Mybatis的接口扫描
Spring:FactoryBean预加载逻辑以及自定义实现Mybatis的接口扫描1 前言参考Mybatis框架的@Mapper注解扫描Mapper接口的业务逻辑,其中集成Spring的逻辑里使用到了Spring框架的FactoryBean拓展点,本文针对Spring FactoryBean的加载流程进行分析和理解。本文参考源码依赖:<parent> <artifactId>spring-boot-starter-parent</artifactId>原创 2024-03-03 14:13:11 · 1169 阅读 · 0 评论 -
java:asm实现ResultSet结果映射到实体类
1 前言Spring-core包中提供了许多方便的工具类,其中org.springframework.cglib.beans下的BeanCopier工具类,主要用于bean之间的属性拷贝,性能上优于Spring-beans包下的org.springframework.beans.BeanUtils的copyProperties方法属性拷贝。因为BeanCopier的属性拷贝,本质上是通过asm,即java字节码来动态生成bean的get、set赋值的方法,相比于BeanUtils的copyPropertie原创 2023-09-20 14:04:09 · 540 阅读 · 0 评论 -
Spring:六、ProxyFactory使用
Spring提供了编程式AOP代理方式,而不依赖于Spring Ioc,即ProxyFactory。使用此种方式可以很方便的使用JDK动态代理或CGLIB代理,且支持Advisor chain的使用,可以通过advisor链,增强需要代理的对象方法。原创 2023-05-29 13:57:20 · 1216 阅读 · 0 评论 -
Spring:五、编程式事务
spring支持声明式和编程式事务,因spring事务基于AOP,使用cglib作为代理,为父子类继承的代理模式,故而声明式事务@Transactional中,常见事务失效的场景,如方法内自调用(this.xxx的this不是代理对象)、方法修饰private(代理子类无法调用父类的private方法)、方法修饰final(因final修饰的方法,子类可以继承和重载,但无法重写)、类没有被spring管理等等,避免此类易被忽略而导致事务失效的问题,原创 2023-02-21 14:09:29 · 1241 阅读 · 0 评论 -
Spring:ApplicationContextAware获取Spring上下文
实现ApplicationContextAware接口,即可通过实现setApplicationContext方法,获取Spring的上下文,同时使用@Component注解即可生效。原创 2023-01-03 21:26:43 · 295 阅读 · 0 评论 -
Spring:DefaultResourceLoader使用
spring:DefaultResourceLoader使用1 前言spring的DefaultResourceLoader类实现了ResourceLoader接口,可以方便读取resources等目录下的资源文件,存在于spring-core依赖中。其他依赖如下:<!-- 读取File转换为String --><dependency> <groupId>commons-io</groupId> <artifactId&原创 2022-04-27 19:01:49 · 1308 阅读 · 0 评论 -
Spring:BeanUtils工具类-copyProperties使用
Spring:BeanUtils工具类使用1 使用(1)BeanUtils.copyProperties使用:Drink实体类:package com.xiaoxu.entity;import lombok.Getter;import lombok.Setter;import java.math.BigDecimal;import java.util.Date;/** * @author xiaoxu * @date 2022-02-23 23:04 * mybatis_lea原创 2022-03-09 20:03:35 · 692 阅读 · 0 评论 -
Spring:ReflectionUtils工具类使用二:Method
Spring:ReflectionUtils工具类使用二:Method1 使用package com.xiaoxu.base;import org.springframework.util.ReflectionUtils;import java.lang.reflect.Method;import java.util.Arrays;/** * @author xiaoxu * @date 2022-02-21 * Ymybatis:com.xiaoxu.base.FruitMetho原创 2022-02-23 14:28:39 · 3185 阅读 · 0 评论 -
Spring:@Nullable和@NonNull
Spring:@Nullable和@NonNull1 前言Spring的注解@Nullable,@NonNull在spring的核心包spring-core中,注解部分代码如下:@Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)@Documented@Nonnull( when = When.MAYBE)@TypeQuali原创 2022-02-18 20:37:51 · 2376 阅读 · 0 评论 -
Spring:ReflectionUtils工具类使用一:Field
spring:ReflectionUtils工具包使用1 前言spring-core依赖中,带有反射工具类ReflectionUtils,导包如下:import org.springframework.util.ReflectionUtils;2 使用(1)ReflectionUtils.makeAccessible、ReflectionUtils.findField使用:新建注解类MyFruit:package com.xiaoxu.annotation;import java.原创 2022-02-17 11:36:22 · 13487 阅读 · 0 评论 -
Spring:四、AOP
Spring:四、AOP1 介绍Spring有两个核心部分:IoC和AOP。IoC即控制反转,把创建对象过程交给Spring进行管理。AOP 的全称是“Aspect Oriented Programming”,即面向切面编程,和 OOP(面向对象编程)类似,也是一种编程思想。AOP 的作用就是保证开发者在不修改源代码的前提下,为系统中的业务组件添加某种通用功能。AOP 就是代理模式的典型应用,其应用主要体现在事务处理、日志管理、权限控制、异常处理等方面。目前最流行的 AOP 框架有两个,分别为 Spr原创 2021-11-25 18:08:23 · 496 阅读 · 0 评论 -
Spring:三、Bean管理-注解方式
Spring:三、Bean管理-注解方式1 IoC操作Bean管理(基于注解方式)1.1 注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值…)1.2 使用注解,注解作用在类上面,方法上面,属性上面1.3 使用注解目的:简化xml配置2 Spring针对Bean管理中创建对象提供注解import org.springframework.stereotype.Component;import org.springframework.stereotype.Controller原创 2021-11-20 13:31:47 · 384 阅读 · 0 评论 -
Spring:二、Bean管理-XML方式
Spring:二、Bean管理XML1 IOC1 IoC思想基于IoC容器完成,IoC容器底层就是对象工厂。2 spring提供IoC容器实现两种方式:(两个接口)(1)BeanFactory:IoC容器基本实现,是spring内部的使用接口,不提供开发人员进行使用(加载配置文件时不会创建对象,在获取对象(使用)时才去创建对象)(2)ApplicationContext:BeanFactory接口的子接口,提供更多强大的功能,一般由开发人员进行使用(加载配置文件时候就会把配置文件对象进行创建)i原创 2021-11-20 13:07:26 · 676 阅读 · 0 评论 -
Spring:一、初识spring
Spring:一、导入spring相关依赖1 介绍优点:Spring是一个开源的免费的框架(容器);Spring是一个轻量级的、非侵入式的框架;控制反转(IOC),面向切面编程(AOP);支持事务的处理,对框架整合的支持。如何获取maven中spring相关的依赖:搜索spring maven:https://mvnrepository.com/search?q=spring2 开始新建一个maven项目,在pom.xml中添加spring的依赖:然后添加spring原创 2021-11-10 13:20:56 · 288 阅读 · 0 评论