面试用-常用注解

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

相关推荐
liang_jy14 分钟前
Android 事件分发机制(一)—— 全流程源码解析
android·面试·源码
Swift社区2 小时前
LeetCode 458 - 可怜的小猪
算法·leetcode·职场和发展
Dream it possible!2 小时前
LeetCode 面试经典 150_分治_将有序数组转换为二叉搜索树(105_108_C++_简单)(递归)
c++·leetcode·面试
鱼鱼块3 小时前
告别重复传参!用柯里化提升代码优雅度
前端·javascript·面试
风止何安啊3 小时前
那些让你 debug 到凌晨的陷阱,我帮你踩平了:React Hooks 避坑指南
前端·react.js·面试
a程序小傲3 小时前
得物Java面试被问:Fork/Join框架的使用场景
java·开发语言·面试
阿蒙Amon3 小时前
C#每日面试题-简述可空类型
microsoft·面试·c#
阿拉伯柠檬4 小时前
传输层与传输层协议UDP
linux·网络·网络协议·面试·udp
得贤招聘官5 小时前
破局传统招聘:AI面试智能体构建精准高效新生态
大数据·人工智能·面试
falldeep5 小时前
LeetCode高频SQL50题总结
数据结构·数据库·sql·算法·leetcode·职场和发展