面试用-常用注解

bash 复制代码
@Configuration 注意由ConfigurationClassPostProcessor来处理

ConfigurationClassPostProcessor执行这个后置处理
ConfigurationClassParser.parse执行这个方法里面会解析很多注解。

1、@Component                 对于Component也是一样递归调用parse方法,一层层解析
2、@PropertySources
3、@PropertySource
4、@ComponentScans
5、@ComponentScan    执行ConfigurationClassPostProcessor后置处理器时,判断配置类是否包含@ComponentScan注解,ComponentScan注解里面就包含很多属性,把扫描出来的类,转成BD,并且扫描出来的每个类都执行一次parse方法,因为扫描出来的类上面可能也包含了@ComponentScan等多个注解
6、@Import     例如:ImportBeanDefinitionRegistrar、ImportSelector
7、@ImportResource  
8、@Bean 
java 复制代码
@Service          其实只是包装了下@Component所以处理逻辑和@Component是一样的。
@Autowired        处理类AutowiredAnnotationBeanPostProcessor
@Resource         处理类CommonAnnotationBeanPostProcessor

@EnableTransactionManagement 开启事务

@Transactional 由切面里面的切点来扫码是否添加事物
关于切面相关的可以点这

@Async异步处理相关注解《@Async-源码分析》

@Aspect

@EnableAsync 开启切面

切面相关可以看这个

@MapperScan

通过导入Import导入MapperScannerRegistrar类,MapperScannerRegistrar实现了ImportBeanDefinitionRegistrar接口,通过ClassPathMapperScanner类扫描@MapperScan配置的路径,找到所有的Mapper.java类,转成DB,并设置BeanClass类型是MapperFactoryBean.class,注册到Spring里面去。

@Controller

@RequestMapping

AOP代理对象的注解有

@Configuration

@Async

@Transactional

@Aspect

相关推荐
小白程序员成长日记28 分钟前
2025.11.21 力扣每日一题
算法·leetcode·职场和发展
韭菜炒大葱2 小时前
从回调到async/await:JavaScript异步编程的进化之路
前端·javascript·面试
努力学算法的蒟蒻4 小时前
day17(11.18)——leetcode面试经典150
算法·leetcode·面试
测试老哥7 小时前
软件测试:测试用例的设计
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
程序员杰哥11 小时前
Python自动化测试之线上流量回放:录制、打标、压测与平台选择
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
敲敲了个代码14 小时前
CSS 像素≠物理像素:0.5px 效果的核心密码是什么?
前端·javascript·css·学习·面试
九年义务漏网鲨鱼16 小时前
蓝桥杯算法——状态压缩DP
算法·职场和发展·蓝桥杯
小白程序员成长日记18 小时前
2025.11.19 力扣每日一题
算法·leetcode·职场和发展
沐怡旸19 小时前
【底层机制】Android图形渲染体系深度解析:VSync信号机制
android·面试
TF男孩19 小时前
写代码不怕Bug,就怕合同里有“竞业陷阱”
面试