Spring 底层核心原理 Bean创建的生命周期,大致过程如下 利用该类的构造方法来实例化得到一个对象(但是如何一个类中有多个构造方法,Spring则会进行选择,这个叫做推断构造方法) 得到一个对象后,Spring会判断该对象中是否存在被@Autowired注解了的属性,把这些属性找出来并由Spring进行赋值(依赖注入) 依赖注入后,Spring会判断该对象是否实现了BeanNameAware接 2021-09-05 浏览(87) 评论(0) Spring 阅读全文
为什么要写spring.factories文件 spring.factories文件是帮助spring-boot项目包以外的bean(即在pom文件中添加依赖中的bean)注册到spring-boot项目的spring容器。 由于@ComponentScan注解只能扫描spring-boot项目包内的bean并注册到spring容器中,因此需要@EnableAutoConfiguration注解来注册项目包外的bean。而spring 2021-06-10 浏览(94) 评论(0) Spring 阅读全文
SpringBoot(一) 配置参数的绑定 在 SpringMVC 或其他 SSH 框架中,如果我们要实现一个配置参数的加载,需要使用代码实现读取properties文件等操作,或者需要使用其他写死的代码属性如 @value(name="username") 等配置。 SpringBoot极大的简化了这些流程,且可以将一个个的配置项转化为面向对象的数据实体对象,为开发工作带来的极大的便利,消除了配置项在项目中遍地开花的情况。 2021-03-11 浏览(154) 评论(0) Spring 阅读全文
Spring Boot 2.缓存框架(三):自定义缓存管理器-Redis CacheManager 在Spring Boot中通过 @EnableCaching 注解自动化配置合适的缓存管理器(CacheManager).Spring Boot根据下面的顺序去侦测缓存提供者. 默认使用ConcurrentHashMap。 2021-02-05 浏览(230) 评论(0) Spring 阅读全文
Spring Boot 2.缓存框架(二):Cache注解详解 Spring Cache是作用在方法上的,其核心思想是当在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。 2021-02-04 浏览(263) 评论(0) Spring 阅读全文
Spring Boot 2.缓存框架(一):进程内缓存的使用 随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一。 2021-02-03 浏览(216) 评论(0) Spring 阅读全文
Spring 获取Bean的流程(二) 三、源码分析 主要逻辑都在doCreate()方法中(context.getBean("designFactoryBean")时) getBean(beanName) 这个方法经常用来从 BeanFactory 中获取一个 Bean,而初始化的过程也封装到了这个方法里。 ## 3.1 实例化 Instantiation ``` // 实例化阶段! instanceWrapper = createB 2019-11-23 浏览(394) 评论(0) Spring 阅读全文
Spring获取Bean的流程(一) ## 一、样例 ``` package com.yueny.fw.practice.spring; import com.yueny.fw.practice.lock.Deadlock; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPa 2019-10-25 浏览(323) 评论(0) Spring 阅读全文