随笔分类 - 漫长的spring学习之路
摘要:1、事务概念 事务,就是一组操作数据库的动作集合,要么全部成功,要么全部失败。 spring 支持两种方式的事务: 编程式事务: 编程式事务管理使用 TransactionTemplate,需要显式执行事务,比如,需要显示调用commit或者rollback方法。 声明式事务: 声明式事务管理建立在
阅读全文
摘要:1、AOP原理 AOP:本质是在不改变原有业务逻辑的情况下,增加横向切面,从而增加一些额外功能。这样能减少很多冗余代码,易于维护。比如权限校验、日志、事务控制、性能监控等场景。 spring实现AOP使用的是动态代理。默认如果被代理对象没有实现接口则使用CGLB代理,如果被代理对象实现了接口就使用J
阅读全文
摘要:要介入spring的生命周期,即在spring容器启动后和容器销毁前进行定制化操作,有以下四种方法: 1、实现Spring框架的InitializingBean和DisposableBean接口。 容器为前者调用afterPropertiesSet()方法,为后者调用destroy()方法,以允许b
阅读全文
摘要:1、ImportBeanDefinitionRegistrar接口 该接口用来实现动态注入Bean,可以实现该接口,但是还要利用@Import进行导入才能实现Bean的注入。使用示例如下: 定义一个注解: @Retention(RetentionPolicy.RUNTIME) @Target(Ele
阅读全文
摘要:1、AOP自调用问题及解决方法 文章:https://www.toutiao.com/i6895650081395966468/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1605533250&app=new
阅读全文
摘要:1、@Async导致循环依赖失败,项目启动报错 @Service public class UserServiceImpl implements UserService { @Autowired UserService userService; @Override @Transactional(ro
阅读全文
摘要:参考文章: https://juejin.im/post/5b64448af265da0f7f44c201 https://juejin.im/post/5e338ebae51d4558864b1ca0 1、开发中使用时要注意的点 (0)spring定时任务执行原理实际使用的是 JDK 自带的 Sc
阅读全文
摘要:1、BeanFactory是spring IOC容器的顶层接口,定义了IOC容器的通用方法和规范。 2、FactoryBean首先是一个bean,但它又是一个能产生bean的工厂,主要作用就是提供了一种灵活创建bean的方式,让用户可以定制实例化bean的逻辑。 获取普通bean,getBean(b
阅读全文
摘要:参考文章: 三级缓存解决循环依赖问题:https://juejin.im/post/5e9b26fe6fb9a03c7413841e 1、spring IOC容器各类结构 获取bean和创建bean流程: 入口:AbstractBeanFactory的getBean( ),-->doGetBean(
阅读全文
摘要:1、Bean的初始化顺序导致的项目启动失败 现象:shua-video项目中引用了配置中台bp-config的SDK,然后在mq消息监听类中使用。如上使用方式,在waterService中引用了bp-config。在测试环境mq中没有消息消费时项目能正常启动,但在线上有消息消费时项目启动报错,提示找
阅读全文