尚学堂spring 注解驱动开发学习笔记之 - AOP原理 AOP原理: 1.AOP原理-AOP功能实现 2.AOP原理-@EnableAspectJAutoProxy 3.AOP原理-AnnotationAwareAspectJAutoProxyCreator分析 4.AOP原理-注册AnnotationAwareAspectJAutoProxyCreator 5.AOP原理-AnnotationAwareAspectJAutoProxyCreator执行时机 6.AOP原理-创建AOP代理…
尚学堂spring 注解驱动开发学习笔记之 - 事务处理 事务处理 1.事务处理实现 实现步骤: * 声明式事务: * * 环境搭建: * 1.导入相关依赖 * 数据源.数据库驱动.Spring-jdbc模块 * 2.配置数据源.JdbcTemplate(Spring提供的简化数据库操作的工具)操作数据 * 3.给方法上标注 @Transactional 表示当前方法是一个事务方法: * 4. @EnableTransactionManagement 开启基于注解的事务管理功能: * @Enab…
写在前面 今天,面了一个工作5年的小伙伴,面试结果不理想啊!也不是我说,工作5年了,问多线程的知识:就只知道继承Thread类和实现Runnable接口!问Java集合,竟然说HashMap是线程安全的!问MySQL的MyISAM存储引擎和InnoDB存储引擎的区别,竟然说成是MyISAM存储引擎支持事务,InnoDB不支持!问Spring就只知道IOC和AOP的概念,深一点就不知道了!再问项目...哎,算了,不说了! 大家对于设计模式.高并发和Java8新特性,不了解的,就去看我的专栏吧!今天…
写在前面 Spring容器中的组件默认是单例的,在Spring启动时就会实例化并初始化这些对象,将其放到Spring容器中,之后,每次获取对象时,直接从Spring容器中获取,而不再创建对象.如果每次从Spring容器中获取对象时,都要创建一个新的实例对象,该如何处理呢?此时就需要使用@Scope注解设置组件的作用域. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation 本文内容概览 @Scope注解概述 单实例b…
写在前面 在前面的文章中,我们学习了如何使用@Import注解向Spring容器中导入bean,可以使用@Import注解快速向容器中导入bean,小伙伴们可以参见<[Spring注解驱动开发]使用@Import注解给容器中快速导入一个组件>.可以在@Import注解中使用ImportSelector接口导入bean,小伙伴们可以参见<[Spring注解驱动开发]在@Import注解中使用ImportSelector接口导入bean>一文.今天,我们就来说说,如何在@Import注…
写在前面 在<[String注解驱动开发]面试官再问你BeanPostProcessor的执行流程,就把这篇文章甩给他!>一文中,我们详细的介绍了BeanPostProcessor的执行流程.那么,BeanPostProcessor在Spring底层是如何使用的?今天,我们就一起来探讨下Spring的源码,一探BeanPostProcessor在Spring底层的使用情况. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-anno…
写在前面 最近,二狗子入职了新公司,新入职的那几天确实有点飘.不过慢慢的,他发现他身边的人各个身怀绝技啊,有Spring源码的贡献者,有Dubbo源码的贡献者,有MyBatis源码的贡献者,还有研究AI的大佬,个个都是大神级别的人物.二狗子有点慌,想起自己虽然入职了,但是比起其他人确实差点远啊.怎么办呢?先从基础补起呗,他发现自己对于Spring的理解还不算太深.于是乎,他让我给他讲讲Spring的@EnableAspectJAutoProxy注解. 好吧,二狗子要请我吃饭啊!关注 冰河技术 微…
尚学堂spring 注解驱动开发学习笔记之 - Spring容器创建 Spring容器创建 1.Spring容器创建-BeanFactory预准备 2.Spring容器创建-执行BeanFactoryPostProcessor 3.Spring容器创建-注册BeanPostProcessors 4.Spring容器创建-初始化MessageSource 5.Spring容器创建-初始化事件派发器.监听器等 6.Spring容器创建-创建Bean 7.Spring容器创建-容器创建完成 8.Spr…
写在前面 在实际项目中,我们更多的是使用Spring的包扫描功能对项目中的包进行扫描,凡是在指定的包或子包中的类上标注了@Repository.@Service.@Controller.@Component注解的类都会被扫描到,并将这个类注入到Spring容器中.Spring包扫描功能可以使用XML文件进行配置,也可以直接使用@ComponentScan注解进行设置,使用@ComponentScan注解进行设置比使用XML文件配置要简单的多. 项目工程源码已经提交到GitHub:https://…
写在前面 Spring的强大之处不仅仅是提供了IOC容器,能够通过过滤规则指定排除和只包含哪些组件,它还能够通过自定义TypeFilter来指定过滤规则.如果Spring内置的过滤规则不能够满足我们的需求,那么我们就可以通过自定义TypeFilter来实现我们自己的过滤规则. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation FilterType中常用的规则 在使用@ComponentScan注解实现包扫描时,我…