面试用-常用注解

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

相关推荐
奔跑的蜗牛ing10 小时前
CentOS Nginx 安装与静态文件服务器配置指南
前端·面试·架构
KaifuZeng13 小时前
通信与接口协议面试五、RS422
嵌入式硬件·面试·通信与接口
Frostnova丶13 小时前
(12)LeetCode 76. 最小覆盖子串
算法·leetcode·职场和发展
旧曲重听114 小时前
为什么现在 RAG 越少越少提及了
数据库·程序人生·职场和发展·agent
SamDeepThinking14 小时前
组合还是继承?我在项目里主要看这两个判断
java·后端·面试
wear工程师14 小时前
setState 到底是不是异步的?这题从 React 16 问到 18,标准答案早就变了
react.js·面试
凯瑟琳.奥古斯特15 小时前
力扣1013三等分解法与C++实现
开发语言·c++·算法·leetcode·职场和发展
凯瑟琳.奥古斯特16 小时前
力扣1012数位DP解法详解
开发语言·c++·算法·leetcode·职场和发展
SamDeepThinking17 小时前
为什么很多人学了Java,还是没真正理解类和对象?
java·后端·面试
阿新聊ai17 小时前
Claude Code 为什么总不懂你的项目?缺一张「项目地图」
前端·后端·面试