spring源码学习
文章平均质量分 50
赚够壹仟万
纯菜b只想找到份好工作
展开
-
手写简易版Spring IOC容器04【学习】
在applyBeanPostProcessorsBeforeInitialization之后执行// 1. 执行 BeanPostProcessor Before 处理// 执行 Bean 对象的初始化方法try {// 2. 执行 BeanPostProcessor After 处理// 1. 实现接口 InitializingBean 调用方法.// 2. 配置信息 init-method {判断是为了避免二次执行销毁}原创 2024-07-21 15:24:12 · 231 阅读 · 0 评论 -
手写简易版Spring IOC容器03【学习】
用于编排整体的方法@Override// 1. 创建beanFactory并加载beanDefinition.// 2. 获取BeanFactory// 3. 在 Bean 实例化之前,执行 BeanFactoryPostProcessor// 4. BeanPostProcessor 需要提前于其他 Bean 对象实例化之前执行注册操作// 5. 提前实例化单例Bean对象// getBean方法....原创 2024-07-20 16:54:06 · 733 阅读 · 0 评论 -
手写简易版Spring IOC容器02【学习】
其中applyPropertyValues用于从beanDefinition中读取属性的配置信息然后通过BeanUtil(hutool-all中提供的类)为其赋值@Overridetry {// 创建bean实例Class<?if (null!break;// 设置属性值try {// 从beanDefinition中获取property通过Resource获取文件流。原创 2024-07-19 15:16:23 · 512 阅读 · 0 评论 -
手写简易版Spring IOC容器01【学习】
继承单例 获得单例的全部方法,实现BeanFactory接口然后定义模板方法和两个抽象方法让子类实现.@Override// 首先从单例对象的map中去获取.if(bean!// 去执行子方法的逻辑获取beanDefinition@Override// 首先从单例对象的map中去获取.if(bean!// 去执行子方法的逻辑获取beanDefinition继承上一个抽象类实现其中模板定义的一个方法 (createBean)@Overridetry {原创 2024-07-18 16:32:35 · 394 阅读 · 0 评论 -
Spring是如何管理事务的?
Spring 的事务管理机制通过编程式事务管理和声明式事务管理两种方式提供了灵活的事务控制。声明式事务管理是最常用的方式,通过注解,可以方便地控制事务的传播行为、隔离级别、超时时间和回滚规则。Spring 事务管理机制的强大和灵活性,使得开发者可以轻松地处理复杂的事务场景,确保数据的一致性和完整性。原创 2024-07-12 08:47:56 · 777 阅读 · 0 评论 -
Spring中事件监听器
Overridetry {@Component@Slf4jlog.info("发送短信....");原创 2024-07-11 15:22:17 · 199 阅读 · 0 评论 -
ResourceHttpRequestHandler【Spring源码学习】
首先由SimpleUrlHandlerMapping记录所有的映射关系;原创 2024-07-07 14:50:09 · 127 阅读 · 0 评论 -
RouterFunctionMapping和HandlerFunctionAdapter【Spring源码学习】
【代码】RouterFunctionMapping和HandlerFunctionAdapter【Spring源码学习】原创 2024-07-07 14:33:20 · 115 阅读 · 0 评论 -
Tomcat异常处理【Spring源码学习】
当没有指定具体控制器异常处理方法时,默认走的异常会被tomcat捕获;例如在这个配置类中添加MVC的配置。我们可以在配置类中添加如下代码。原创 2024-07-06 14:31:05 · 243 阅读 · 0 评论 -
@ControllerAdice统一返回值类型【Spring源码学习】
我们可以通过在@ControllerAdvice注解类上实现ResponseBodyAdvice注解来实现统一返回值类型;例如统一接口的返回类型为Result类。方法来进行检查当前类是否加了这个注解;原创 2024-07-05 14:43:34 · 224 阅读 · 0 评论 -
返回值处理器器【Spring源码学习】
定义返回值类型处理器的组合;测试使用的controller测试方法。原创 2024-07-05 13:24:14 · 337 阅读 · 0 评论 -
控制器方法执行流程和 @InitBinder【Spring源码学习】
首先说明@ControllerAdvice和aop没有任何关系!加在ControllerAdvice中只对所有控制器都生效全局的在开始时就会保存到handlerMappingAdapter中的cache中;原创 2024-07-01 19:46:03 · 169 阅读 · 0 评论 -
类型转换与数据绑定【Spring源码学习】
类型转换。原创 2024-06-30 13:30:58 · 197 阅读 · 0 评论 -
Controller中的参数解析器【Spring源码学习】
mockRequest构建request请求定义controller解析过程通过handlerMethod.getMethodParameters拿到方法对应的全部的参数,然后对参数内容进行解析,RequestParamMethodArgumentResolver用来解析@RequestParam注解;首先通过supportsParameter看当前参数是否满足解析要求;如果满足则进行参数解析赋值;原创 2024-06-29 15:18:40 · 210 阅读 · 0 评论 -
RequestMappingHandlerMapping【Spring源码学习】
通过RequestMappingHandlerMapping可以获得对应的请求路径请求方式对应的方法Map。返回的并不是只有method方法,而是包括了拦截器等组成的一个执行器链!原创 2024-06-29 11:14:05 · 300 阅读 · 0 评论 -
RequestMappingHandlerAdapter【Spring源码学习】
/ 解析器是否支持某个参数 判断是否加了我们的@Token注解@Override= null;// 具体解析参数@Override// 拿到请求中的token将参数解析器加入adapter中@Bean具体执行// 拿到 RequestMappingHandlerAdapter// 验证自定义参数解析器// 拿到当前请求对应的执行链// 执行请求对应的方法方法上加上此注解代表返回值类型要被解析为yml格式controller中使用@Yml。原创 2024-06-29 11:45:23 · 173 阅读 · 0 评论