Spring
spring框架的基础使用,以及源码原理的解析
码农奥德彪
看似我拉了无数次代码,其实是代码拉了无数次我的生活
展开
-
spring容器Bean的生命周期及BeanPostProcessor的使用
生命周期流程1~2创建实例。创建实例就是:这里就是把配置文件中的bean信息化作一个bean读取到容器里面3~4是注入依赖关系,3是对bean实例化之后做一些操作,4是配置文件中的bean属性设置到bean中5是bean初始化之前的处理,应用开发者需要把容器中实例化的bean拿出来用,这个拿出来的过程就是初始化注意实例化与初始化的区别,instantiation 和initialization6~7 如果bean实现了InitializingBean,那么将调用InitializingBean的原创 2020-06-16 11:42:52 · 1048 阅读 · 0 评论 -
浅谈Spring的循环依赖
什么是循环依赖?其实就是在IOC容器初始化对象的时候,A对象的创建依赖B对象 A—>B ,B对象的创建又依赖A对象,B—>A,所以这样子就产生了对象的循环依赖。基于构造器的循环依赖先上基于构造器的循环依赖例子:@Componentpublic class A { private B b; public A(B b) { this.b = b; }}@Componentpublic class B { private A a原创 2020-05-29 16:50:29 · 1216 阅读 · 0 评论 -
Spring的隐式注入
当我们在使用依赖注入的时候,通常有三种方式:1.通过构造器来注入;2.通过setter方法来注入;3.通过filed变量来注入;Constructor@Controller@RequestMapping("/app")public class APPController { private AppService appService; public APPCont...原创 2020-04-30 00:47:09 · 1460 阅读 · 1 评论 -
Spring注解@Primary的使用
https://blog.csdn.net/qq_16055765/article/details/78833260原创 2020-04-29 11:36:35 · 1803 阅读 · 0 评论 -
Spring注解@Order的使用
@Order:注解@Order的作用是定义Spring容器加载Bean的顺序,而不是类的加载顺序1,注解类源码@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD})@Documentedpublic @interface Order {...原创 2020-04-29 11:30:37 · 2286 阅读 · 3 评论 -
Spring源码解析三:Spring IOC容器的依赖注入
1、Bean对象创建的时机依赖注入是在Bean对象创建的时候完成的,那么第一个问题来了,Bean对象什么时候创建?Bean对象的创建是在getBean方法被调用的时候发生的,而在Spring中有两个场景会触发getBean方法被调用。单例模式是非延迟加载的对象,会在IOC容器初始化的时候被创建且初始化。非单例模式是延迟加载的对象,是应用第一次向容器索要该Bean对象的时候被创建且初始化。...原创 2020-04-15 17:03:58 · 1645 阅读 · 6 评论 -
Spring源码解析二:Spring IOC容器的初始化
IOC容器的初始化分为三个步骤Resource定位,即BeanDefinition的资源定位。BeanDefinition的载入向IOC容器注册BeanDefinition1,Resource定位以ApplicationContext的具体实现FileSystemXmlApplicationContext来介绍Resource定位的过程:IOC容器初始化类比为用木桶来装水,Res...原创 2020-04-15 14:44:51 · 979 阅读 · 0 评论 -
Spring源码解析一:Spring IOC容器的设计
1,IOC接口的设计这里的接口设计有两条主线:BeanFactory和ApplicationContext1、BeanFactory–>HierarchicalBeanFactory–>ConfigurableBeanFactory:这是BeanFactory的设计路线,BeanFactory定义了基本的IOC容器规范,HierarchicalBeanFactory中增加了get...原创 2020-04-14 23:32:48 · 971 阅读 · 0 评论 -
AOP注解日志
AOP日志1,导入Aspect的依赖包 <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> </dependency> <...原创 2020-02-02 12:21:46 · 2176 阅读 · 0 评论 -
Spring AOP的两种动态代理
1, 基于接口的JDK代理public static UserSerivce getUserSerivce() { UserSerivce userSerivce = new UserServiceImpl();//我们首先需要手动new一个对象,原因是因jdk默认生成的代理对象 内部是没有任何实现的,我们需要定义好具体的实现 UserDao userDao = ...原创 2020-02-02 12:06:42 · 2163 阅读 · 0 评论