面试用-常用注解

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

相关推荐
豆苗学前端13 小时前
彻底讲透浏览器渲染原理,吊打面试官
前端·javascript·面试
Hilaku15 小时前
在 HTTP/3 普及的 2026 年,那些基于 Webpack 的性能优化经验,有一半该扔了
前端·javascript·面试
掘金安东尼15 小时前
活动落地页效率翻倍:RollCode 这次更新有点猛
前端·低代码·面试
前端Hardy17 小时前
Bun 1.0 正式发布:JavaScript 运行时的新王者?启动快 5 倍,打包小 90%!
前端·javascript·面试
前端Hardy17 小时前
别再乱写正则了!一行 regex 可能让你的网站瘫痪 10 分钟
前端·javascript·面试
前端Hardy18 小时前
Tauri 1.0 正式发布:用 Rust 写前端,体积比 Electron 小 90%!
面试
我叫黑大帅1 天前
Go 语言并发编程的 “工具箱”
后端·面试·go
H5开发新纪元1 天前
Nginx 部署 Vue3 项目完整指南
前端·javascript·面试
Lee川1 天前
JavaScript 继承进化史:从原型链的迷雾到完美的寄生组合
前端·javascript·面试
前端Hardy2 天前
别再忽略 Promise 拒绝了!你的 Node.js 服务正在“静默自杀”
前端·javascript·面试