spring
文章平均质量分 77
spring
杜三岁
这个作者很懒,什么都没留下…
展开
-
集成三方框架思考 以及@Bean和@Component区别
@Bean和@Component区别 @Component注解会先生成beanDefinition,最后由spring反射生产bean,不能干预生成bean的过程。 @Bean注解会返回一个对象,这个对象就是一个bean,通常方法体中包含了最终产生bean实例的逻辑,所以是能干预生成bean的过程(集成三方库中的类需要装配到Spring容器时,通过@Bean来实现做增强)。 ...原创 2021-04-28 22:09:36 · 206 阅读 · 0 评论 -
spring bean生命周期
一、spring bean实例化之前: 类被扫描(configurationClassPostProcessor),每扫描到一个符合规则的类之后解析成一个的beanDefinition,invokeBeanFactoryPostProcessor之前beanDefinitionMap只有自己的开天辟地的类和自己的配置类(配置类在register()时解析成beanDefinition) 接着beanDefinition放入beanDefinitionMap中key=beanName,value=be.原创 2021-03-23 20:31:56 · 175 阅读 · 0 评论 -
spring循环依赖
前置环境:为了更好地理解和debug我这里每个service里面注入了2个service @Component public class AService { @Autowired private BService bService; @Autowired private CService cService; public AService(){ System.out.println("AService构造函数"); } } @Com原创 2021-03-23 20:06:41 · 136 阅读 · 1 评论 -
Spring事件监听驱动模型开发
1.ApplicationListener:监听容器中发布的事件 public interface ApplicationListener<E extends ApplicationEvent> extends EventListener { 监听ApplicationEvent事件以及ApplicationEvent的子类事件 (1.写一个监听器实现ApplicationListener,并加入到容器中 (2.只要容器有相关的事件发布我们就可以监听到此事件 (3.手动发布事件.原创 2021-03-12 18:07:07 · 92 阅读 · 0 评论 -
Spring容器创建启动流程分析
Spring容器创建流程的源码分析: 因为是使用注解版进行分析所以分析的入口是AnnotationConfigApplicationContext ,如果是使用 xml ,那么入口即为 ClassPathXmlApplicationContext。 public AnnotationConfigApplicationContext(Class<?>... componentClasses) { this(); register(componentClasses); refres原创 2021-03-11 17:11:49 · 419 阅读 · 1 评论 -
SpringBoot注解驱动开发
1.启动类的注解 @Target(ElementType.TYPE) // 注解的适用范围,其中TYPE用于描述类、接口(包括包注解类型)或enum声明 @Retention(RetentionPolicy.RUNTIME) // 注解的生命周期,保留到class文件中(三个生命周期) @Documented // 表明这个注解应该被javadoc记录 @Inherited //原创 2021-01-28 22:35:32 · 287 阅读 · 2 评论 -
Spring的后置处理器与Aware分析记录
1原创 2021-02-03 17:05:54 · 257 阅读 · 0 评论