【自用】Spring常见注解以及用法和浅层原理梳理

@interface:一般用来定义自定义注解的,可以配合注解@Retention来使用,不定义Retention就默认为RetentionPolicy.CLASS(编译字节码的时候保留);

@Retention:包括三个策略:Source、Class、Runtime,简单来说,Source为编译字节码时丢弃,Class为运行时丢弃,而Runtime运行时还会保存(因此反射可以读取);

@Component:标注组件类,被它标注的类会被Spring识别为一个容器,并创建它的示例,实现IoC(控制反转),适用于没有明确角色的组件;
@Configuration:标注配置类,看源码可以发现,这个类的也被@Component注解了,因此会被自动注册到IOC容器中并进行实例化。类似于传统的XML配置文件;

@Controller:是一个特例化的@component,用于标注spring mvc的控制器,处理http请求并返回视图或数据(如json);

@RestController:@Controller和@ResponseBody的组合注解,它结合了 @Controller 和 @ResponseBody 注解的功能(就相当于把两个注解组合在一起)。在使用 @RestController 注解标记的类中,每个方法的返回值都会以 JSON 或 XML 的形式直接写入 HTTP 响应体中,相当于在每个方法上都添加了 @ResponseBody 注解;

@Service:标注服务层,服务层位于controller层和数据层之间,一般命名为controller层的类名+Impl(implement);

@Async:标注需要异步执行的方法类,默认情况下,Spring会使用一个简单的SimpleAsyncTaskExecutor作为执行器,也可以配合线程池使用;

@Bean:显式地注册bean,实现控制反转,通常注解中@Configuration类里面。但是spring中并不是只有这种bean的注册方式,像被@Service注释的类就会被自动注册为bean;

组件:

@SL4J:用来打日志的,是lombok中的一个注解,常见有几种日志等级:由低到高为:trace, debu, info, warn, error, fatal,默认为info等级;

挖坑,慢慢梳理~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值