
spring
文章平均质量分 92
spring源码解读
杰*公子
只有你够强,才能得到别人的尊重!
展开
-
spring-boot(2)自动配置源码说明
springBoot的自动配置主要在SpringBootApplication导入相关的Processor.最终会通过以上注解引用的BeanProcessor调用到org.springframework.boot.autoconfigure.AutoConfigurationImportSelector#getAutoConfigurationEntry就去中:以上configurations会加载到所有springBoot组件的自动配置类:上面完整调用链路特别说明(ConfigurationC原创 2020-05-12 18:07:57 · 145 阅读 · 0 评论 -
spring-boot(1)启动源码说明
温馨提示:看此文章必须具备能读spring ioc源码首先会启动调用到:org.springframework.boot.SpringApplication#run(java.lang.String…)通过实现了SpringApplicationRunListener接口的实现类,通过spi机制加载META-INF/spring.factories文件下的类spi:就是spring加载代码根目录下META-INF/spring.factories中所有的类,变为map;图1代码详细说明:标注原创 2020-05-12 16:30:39 · 135 阅读 · 0 评论 -
spring mvc启动说明
1.spring mvc启动主要是通过(与src下的代码同级)META-INF/services/javax.servlet.ServletContainerInitializer文件中:2.文件中类org.springframework.web.SpringServletContainerInitializer说明:3.根容器/子容器说明:4.根容器初始化类org.springfr...原创 2020-05-12 15:05:57 · 125 阅读 · 0 评论 -
springIOC主线原码说明笔记
/**扩展原理:BeanPostProcessor:bean后置处理器,bean创建对象初始化前后进行拦截工作的1、BeanFactoryPostProcessor:beanFactory的后置处理器; 在BeanFactory标准初始化之后调用,来定制和修改BeanFactory的内容; 所有的bean定义已经保存加载到beanFactory,但是bean的实例还未创建...原创 2020-05-05 15:43:26 · 172 阅读 · 0 评论 -
Spring声明式事务(Transactional)源码解读
spring版本:5.1.9(其它5.0及以上版本代码主线都区别不大)辅助案例代码地址:https://gitee.com/lelesccode/spring-sample-demo.git开启事务注解 @EnableTransactionManagement说明...原创 2020-05-05 14:41:43 · 257 阅读 · 0 评论 -
spring切面aop源码分析
spring版本:5.1.9(其它5.0及以上版本代码主线都区别不大)辅助demo代码地址(在demo9中):https://gitee.com/lelesccode/spring-sample-demo.gitspring的源码的知识比喻:1.什么是BeanPostProcessor?BeanPostProcessor通俗解释:后置处理器(增强对象)用玩网游举个例子: 玩家人物(要被...原创 2020-05-03 11:36:18 · 162 阅读 · 0 评论 -
spring中AutoWired/Quafifier/Primary及相关注解知识
1.@AutoWired使用的是默认优先@Component以子注解(service/controller/Repository)bean在无Primary修饰的情况下2.Quafifier配合AutoWired使用,意思为手动选择对应ID的bean3.Primary使某个bean为默认Bean(主选bean)@AutoWired/@Resource/@Inject区别:名称@P...原创 2020-05-02 13:39:16 · 349 阅读 · 0 评论 -
spring注解@value使用
public class Bike{ @Override public String toString() { return "Bike{" + "name='" + name + '\'' + '}'; } public void setName(String name) { this.name = name; } @Value("${bike.name}"...原创 2020-05-01 22:34:28 · 187 阅读 · 0 评论 -
spring中Bean的生命周期介入的几种方法,及重要spring源码位置
代码目录:bean的生命周期几个过程:创建–>初始化–>销毁1.@Bean(initMethod=“方法1”,destroyMethod=“方法2”)public class Bike { public Bike(){ System.out.println("创建。。。。。"); } public void init(){ System.out.println(...原创 2020-05-01 21:56:51 · 226 阅读 · 0 评论 -
springBean注入的几种形式,你是否都知道
1.基于spring5代码的目录结构,以下代码都是基于此:其它类都加了注解除Person:@Repositorypublic class OrderDao {}@Servicepublic class SampleService {}@Controllerpublic class TestController {}启动类SampleTest类代码:public cla...原创 2020-04-30 16:21:50 · 466 阅读 · 1 评论