切面 注解spring aop
Spring HandlerInterceptor工作机制
> 本文以一个通过正常注册拦截器流程注册拦截器失败的实际场景,来带领大家阅读源码,体会Spring的HandlerInterceptor拦截器整个工作流程 ### 简单认识 org.springframework.web.servlet.HandlerInterceptor是Spring框架中的一个 ......
Spring事务与锁的一些事
## 1.Spring事务与synchronized顺序问题 ## 结论: > 保证释放锁在事务提交之后 ``` 当一个方法加上事务后,在执行前要先开启事务,然后再执行目标方法,当目标方法执行完后提交事务。 自然获取锁是在开启事务后才执行的操作,一个线程获取到锁,到执行完业务再到释放锁后,此时事务还 ......
spring三级缓存源码分析
总体思路如下如所示 debug的源码过程 循环依赖debugorg.springframework.context.support.AbstractApplicationContext#refresh finishBeanFactoryInitialization //LINE583, 实例化的入口 ......
@transcational注解
@transcational注解能用在任何spring boot 项目的组件的方法里 也就是被@component 修饰的类 常见的service类的@service注解内部就有@component注解,所以可以直接使用@transcational注解进行回滚 微服务就是@globaltransca ......
关于AOP的一些理解
1:什么是AOP AOP(Aspect Oriented Programming)面向切面思想,是spring三大核心思想之一。AOP:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,是函数式编程的一种衍生范型。利用AOP ......
Spring-Aop
1、面向切面编程Aspect,通过预编译方式和运行期间动态代理实现程序的统一维护的一种技术 2、AOP应用场景 (1) 记录日志 (2) 权限校验 (3) Spring事务管理 3、AOP的结构 AOP要做的三件事,在哪里切入,也就是权限校验,等非业务操作在哪些业务代码中执行;什么时候切入,是业务代 ......
Spring-事务操作
1、什么是事务 事务就是一系列的动作,它们被当作一个单独的工作单元,这些动作要么全部完成,要么全部不起作用。 案例:转钱业务 扣钱和加钱 --要么都执行要么都不执行 JDBC --它模式事务自动提交的 -当代码中出现错误,转账业务就会变成eid=1的用户扣钱,eid=2的用户没有加钱,扣的钱不翼而飞 ......
Spring事物
## 一、什么是事务? 事务:一系列执行SQL语句的操作,它被当作一个单独的工作单元,这些操作要么全部完成,要么全部不起作用。 ## 二、事务的四大特征 1、原子性(Atomicity) 一个事务是不可分割的最小工作单位 执行事务,要么全部成功,要么回滚到执行事务之前的状态。 2、一致性(Consi ......
(Java实体类比表字段多处理方案)注解忽略实体类属性
背景 实体类多添加了几个字段用于查询,如果项目中使用了mybatis或mybatisplus会导致找不到表中字段的错误 Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'create_start_time' in 'field ......
java Sping aop 以及Spring aop 的应用事务管理
# 1. 回顾 > 线程死锁概念和如何避免死锁的发生: > > 线程的通信 wait notify() notify(): Object类 > > 线程的状态: ==NEW >start() >就绪状态 CPU时间片 运行状态==RUNNABLE] >sleep() >==TIMED_WAITING ......
编译时注解处理器的一次使用经历
编译时注解处理器在《深入理解Java虚拟机》一书中有一些介绍(前端编译篇有提到),但一直没有机会使用,直到碰到这个需求,觉得再合适不过了,就简单用了一下,这里做个记录。 原文写于2021年2月8日。 一、需求 我们为公司提供了一套通用的JAVA组件包,组件包内有不同的模块,这些模块会被打成jar包, ......
AOP
## AOP ## 一、什么是AOP? Aop的专业术语(来源百度): 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是[OOP](https://baike.baidu.c ......
javaSpring之AOP
1.什么是AOP 翻译中文为:面向切面编程,可以让你在业务代码与非业务代码隔离,增加新的非业务代码 2.AOP使用场景 1.我一直遵循着存在即合理的观念,在各大需求中,有一种需求是每当操作时,就会在数据库记录日志,那么在不更改业务代码的情况下应该怎么做,没错,AOP可以解决 2.当然,其也可以做权限 ......
spring注入bean错误-Bean named 'abc' is expected to be of type 'AAA' but was actually of type 'BBB'
@Resource注解有两个重要的属性:name和type。在一个使用@Resource来注入bean的声明语句中,@Resource优先是按name来解析bean的 ......
spring-boot静态资源目录配置
## spring-boot静态资源目录配置 spring-boot静态资源默认为/src/main/resources下的/static目录,可以通过application.properties的server.servlet.context-path属性配置 如: ``` server.servl ......
Spring Rest Docs生成文件
mvn generate-resources -Dasciidoctor.sourceDirectory=src/main/asciidoc -Dasciidoctor.outputDirectory=target/docs ......
Java中的AOP
AOP:是面向切面编程 SpringAOP的底层是基于动态代理实现的,是在不更改原有类的基础上对目标方法进行增强,所以只有接口才能使用AOP 注意:AOP不是Spring独有的,Spring是AOP的核心之一 AOP 的核心关键词 原始对象是 target 要被增强的方法 代理对象是 proxy 增 ......
Java自定义注解
注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。本文将通过示例详解Java如何实现自定义注解,需要的可以参考一下 − 目录 概念 作用 JDK中预定义的一些注解 注解生成文档案例 自定义注解 格式 本质 属性:接 ......
IDEA使用@Autowired注解为什么会提示不建议?
在使用IDEA编写Spring相关的项目时,当在字段上使用@Autowired注解时,总会出现一个波浪线提示:”Field injection is not recommended.” 这让我不禁疑惑:我每天都在使用这种方式,为何不被推荐呢?今天,我决定深入探究其中的原因。 众所周知,Spring ......
本地搭建spring-boot集成dubbo问题汇总
1,java.lang.NoClassDefFoundError: com/alibaba/spring/util/PropertySourcesUtils <dependency> <groupId>com.alibaba.spring</groupId> <artifactId>spring-c ......
@ConditionalOnExpression 注解
### @ConditionalOnExpression 注解 如果有一个基类,它下面有子类实现比如 v1, v2, v3 三个子类,但使用的时候,springboot 服务启动的时候,只想指定用其中的一种,这种情况要怎样做呢? 比如基类: RentPlan 出租计划 它有几个实现类 RentPla ......
Spring 与 Spring MVC 相关知识点回顾整合
1. Spring框架 1.1. Spring框架的作用 Spring框架主要解决了创建对象和管理对象的相关问题。 通过Spring创建并管理对象,可以使得开发者不再反复关心对象的创建过程,并且,默认情况下,由Spring创建的对象都是单例的,这是非常有必要的! 由Spring创建的对象通常称之为S ......
spring源码分析
本人编译的sping源码地址: https://gitee.com/Alan-H-Ma/spring-framework-source-latest.git spring整理的笔记: ......
Net7配置Autofac下IOC中的AOP,以及Autofac的三种生命周期写法
Net7配置Autofac下IOC中的AOP是分两种,一种是基于接口的,一种是基于实现类的 基于接口的好处是简单,但不能有效的控制具体到某个方法。也就是说,只能基于类来做操作,一个类下所有的方法都要接受注册 基于实现类的是稍微麻烦一点,生效方法必须改为 virtual ,但可以实现到具体某个方法的效 ......
spring mvc 前端返回 js
@RequestMapping(value = "/test",produces = "text/html; charset=UTF-8")@ResponseBodypublic String test(){String url = "";return "<script>window.locatio ......
Spring面试攻略:如何展现你对Spring的深入理解
本次面试涉及了Spring框架的多个方面,包括IOC和AOP的理解、Spring容器的启动流程、Bean的创建过程、Bean的线程安全性、循环依赖的处理、事务的处理以及Spring MVC中控制器的线程安全性。通过这些问题的回答,展示了对Spring框架的深入理解和应用经验。同时,也凸显了对面试题目... ......
01 spring cache 搭配 redis 自定义缓存时间 和 ehcache
# spring cache 缓存在jvm # 搭配redis ## pom ``` org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-data-redis org.ap ......