spring注释

本文介绍了Spring框架中的各种注解,如@Component用于IOC容器管理,@RestController结合了Controller和ResponseBody功能,@Service和AOP用于服务和日志处理,以及@Mapper、@Lazy和@Scope对bean的行为进行定制。此外,还提及了@ComponentScan用于配置组件扫描范围。
摘要由CSDN通过智能技术生成
@Component //交给IOC容器管理,成为IOC容器当中的bean对象

@Bean

//声明第三方bean
@Bean //将当前方法的返回值对象交给IOC容器管理,成为IOC容器的bean对象
public SAXReader saxReader(){
    return new SAXReader();
}

@RestController

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

@Service

@Aspect //代表该类为AOP类

@Slf4j //记录日志方法

@Around("execution(* com.hzy.service.*.*(..))") 切入点表达式->当我们运行com.hzy.service这个包下所有的接口或者是类中所有的方法时,都会运行下面的逻辑代码

第一个*是方法的返回值,第二个*是类名,第三个*是方法名

@annotation 切入点表达式,用于匹配标识有特定注解的方法。

用法:(1)定义一个注解方法

//元注解
@Retention(RetentionPolicy.RUNTIME) //描述这个注解什么时候生效
@Target(ElementType.METHOD) //当前这个注解生效在哪个地方
public @interface MyLog {
}

(2)然后在方法中定义

@Around("@annotation(com.hzy.aop.MyLog)")

@Mapper //在运行时,会自动生成该接口的实现类对象(代理对象),并且将该对象交给IOC容器管理

@Lazy //默认情况下bean的初始化是在容器启动时初始化的,加上@Lazy注解后可以延迟初始化

@Scope("prototype") //每次使用该 bean 时会创建新的实例(非单例) 如果不声明,则默认情况是单例的

@Configuration//配置类

@ComponentScan({"包名"}) //用于更改组件扫描范围

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值