
java框架
文章平均质量分 61
每一个不曾起舞的日子,都是对生命的辜负
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring中的五种通知
1. 五种通知前置通知:@Before 后置通知:@AfterReturn 异常通知:@AfterThrow 最终通知:@After 环绕通知:@Around2. 环绕通知的写法 @Pointcut("execution(* com.*.*(..))") public void pt1(){} @Around("pt1()") public Object aroundAdvice(ProceedingJoinPoint pjp){ Obje原创 2021-11-05 16:26:03 · 915 阅读 · 0 评论 -
Springboot常用的注解
1. 事务@EnableTransactionManagement标注在配置类上,开启事务功能@Transactional可以标注在类上,默认这个类所有公共方法添加事务 标注在方法上,默认这个方法如果是公共的则会添加事务2. 核心@Order控制bean的加载顺序,默认最低优先级 数字越大优先级越低3. 事件、异步、调度@EventListener标注在方法上,监听到指定事件则调用该方法@TransactionalEventListener标注在方法..原创 2021-10-13 12:43:30 · 126 阅读 · 0 评论 -
Spring事务失效的几个场景及其原因
1. 抛出检查异常导致事务不能正确回滚1.1 原因Spring默认只会回滚非检查异常1.2 解决方法配置rollbackFor属性使得检查异常也会回滚 意思是只要这个事务方法抛出了Exception类型的异常,都会回滚事务。@Transactional(rollbackFor = Exception.class)2. 业务方法内使用了try-catch处理异常导致事务不能回滚2.1 原因事务是基于环绕通知的。事务通知只有捕捉到目标方法抛出的异常,才会执行相应的回滚处理。 但原创 2021-10-12 11:24:50 · 482 阅读 · 0 评论 -
Spring之refresh的12个步骤
根据B站黑马视频总结1. refresh的12个步骤prepareRefresh obtainFreshBeanFactory prepareBeanFactory postProcessBeanFactory invokeBeanFactoryPostProcessors registerBeanPostProcessors initMessageSource initApplicationEventMulticaster onRefresh registerListe...原创 2021-10-11 12:12:34 · 4970 阅读 · 7 评论 -
Spring框架中用到的设计模式
工厂模式:Spring使用工厂模式通过BeanFactory创建Bean对象 代理模式:Spring AOP功能基于代理模式实现 单例模式:Spring中的Bean默认都是单例的 观察者模式:Spring事件驱动模型就是观察者模式的应用 适配器模式:Spring MVC使用了适配器模式来适配Controller。Spring AOP中将预定义的通知适配成MethodInterceptor接口(方法拦截器)类型的对象...原创 2021-09-16 15:16:36 · 111 阅读 · 0 评论 -
SpringMVC原理与工作流程
1. 工作流程客户端发送请求,直接请求到DispatcherServlet(前端控制器) DispatcherServlet根据请求信息调用HandlerMapping HandlerMapping会把请求映射为HandlerExecutionChain类型的handler对象,并将其返回给前端控制器 里面包含了拦截器链和要执行的Controller(控制器) 前端控制器将handler对象作为参数传递给HandlerAdapter的实例化对象,然后调用HandlerAdapter的实例化对原创 2021-09-16 15:02:55 · 668 阅读 · 0 评论 -
spring bean的生命周期
1. 生命周期过程Bean容器找到配置文件中spring bean的定义 Bean容器利用反射创建一个Bean的实例 如果涉及到一些属性则利用set()方法设置一些属性值 如果Bean实现了BeanNameAware接口,则调用setBeanName()方法,传入Bean的名字 如果Bean实现了BeanClassLoaderAware接口,则调用setBeanClassLoader()方法,传入ClassLoader对象的实例 与上面类型,如果实现了其他*Aware接口,就调用相应的方法原创 2021-09-16 13:23:13 · 194 阅读 · 0 评论 -
spring的IOC和AOP
1. IoC1.1 定义控制反转是一种设计思想 将原本在程序中手动创建对象的控制权,交由Spring框架来管理 IoC容器实际上是一个Map,Map中存放的是各种对象 我们将对象之间的相互依赖关系交给IoC容器来管理,并由IoC容器完成对象的注入。 IoC容器就像一个工厂一样,当我们需要创建一个对象的时候,只需配置好配置文件/注解即可,完全不用考虑对象是如何创建出来的。1.2 spring IOC的初始化过程2. AOP将那些与业务无关,却为业务模块所共同调用的逻辑或责任(如.原创 2021-09-16 12:46:46 · 101 阅读 · 0 评论 -
事务的传播属性
1. 事务的传播属性required:支持当前事务,如果当前有事务,则使用当前事务,如果当前没有事务则创建一个新事务 not_supported:不支持事务,当前有事务就挂起事务 supports:有事务就加入,无事务就不用事务 mandatory:支持当前事务,当前如果没有事务,则抛异常 never:当前必须不能有事务,有事务则抛出异常 requires_new:不管当前有没有事务,都会创建一个新的事务 nested:如果当前存在事务,则嵌套在当前事务中。如果当前没有事务,则新建一个事务自原创 2021-09-15 15:29:21 · 169 阅读 · 0 评论 -
spring的循环依赖与三级缓存
new关键字 Class类对象的newInstance,本质是通过反射 clone()方法 反序列化原创 2021-08-03 22:14:28 · 771 阅读 · 1 评论