上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 47 下一页
摘要: 前言 AOP(Aspect Oriented Programming)面向切面编程,通过在运行期对切入点(如指定类的指定方法)创建代理对象,来完成对业务功能的增强,适用于日志监听,事务处理等场景。SpringAOP是在IOC容器的基础上实现的。 AOP的各种概念 通知(Advice): 定义在连接点 阅读全文
posted @ 2022-05-10 20:39 strongmore 阅读(234) 评论(0) 推荐(0)
摘要: 前言 Spring提供了@Conditional注解在自动扫描Bean时可以根据条件来判断是否注册BeanDefinition。 简单使用 看一下@Conditional注解的声明,Spring4.0版本才提供。 @Target({ElementType.TYPE, ElementType.METH 阅读全文
posted @ 2022-05-09 20:46 strongmore 阅读(231) 评论(0) 推荐(0)
摘要: 前言 在项目中使用Spring,我们都会使用它的自动扫描Bean的功能,今天就来分析一下自动扫描的原理。 简单使用 import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.spri 阅读全文
posted @ 2022-05-09 13:29 strongmore 阅读(548) 评论(0) 推荐(0)
摘要: 前言 Spring提供了@Autowired注解让我们可以很方便的注入依赖的Bean,提供了@Value注解可以让我们从properties文件或yml文件中注入属性值。 @Autowired注解使用 import org.springframework.beans.factory.annotati 阅读全文
posted @ 2022-05-08 13:10 strongmore 阅读(583) 评论(0) 推荐(0)
摘要: 前言 循环引用又叫循环依赖,比如A依赖B,B又依赖A,Spring不支持构造器注入方式的循环依赖,支持属性注入的循环依赖。 这里关注的情况是Bean都是singleton(单例),对于prototype(原型)的情况,暂时不管。 构造器注入 这里为了分析原理,没有使用强大的ApplicationCo 阅读全文
posted @ 2022-05-08 07:31 strongmore 阅读(230) 评论(0) 推荐(0)
摘要: 前言 FactoryBean可以看做一个工厂Bean,它的getObject()方法可以生产另外一个Bean,且生产的Bean也由Spring管理。 简单使用 import lombok.Getter; import lombok.Setter; import org.springframework 阅读全文
posted @ 2022-05-07 20:11 strongmore 阅读(328) 评论(0) 推荐(0)
摘要: 前言 Spring中一个Bean的创建过程是十分复杂的,这里通过源码来简单分析一下。 原理分析 相关类图如下 DefaultListableBeanFactory就是IOC容器的最终实现,既实现了BeanFactory接口,也实现了BeanDefinitionRegistry接口, 所以它不仅是Be 阅读全文
posted @ 2022-05-07 08:02 strongmore 阅读(167) 评论(0) 推荐(0)
摘要: 前言 我们定义的所有Bean,不管是通过XML文件定义的,或者通过@Component注解定义的,或者通过@Bean注解定义的, 最后都会转换成一系列的BeanDefinition对象,保存到BeanDefinitionRegistry(注册表)中。 BeanDefinition和Bean实例的关系 阅读全文
posted @ 2022-05-06 15:50 strongmore 阅读(89) 评论(0) 推荐(0)
摘要: 前言 ConversionService表示类型转换服务,如将字符串转换为Long,字符串转换为日期等。在处理属性和创建Bean对象等很多场景都会使用到。 ConversionService 相关类图如下 默认实现为DefaultConversionService,默认增加了很多类型转换器,如字符串 阅读全文
posted @ 2022-05-06 08:17 strongmore 阅读(1191) 评论(0) 推荐(0)
摘要: 前言 Environment表示当前Spring程序运行的环境,主要管理profiles和properties两种信息。 profiles用来区分当前是dev(开发)环境还是test(测试)环境或者prod(生产)环境。 properties表示所有的属性,包括操作系统环境变量,如PATH,JDK相 阅读全文
posted @ 2022-05-05 19:47 strongmore 阅读(408) 评论(0) 推荐(0)
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 47 下一页