部分springboot注解

本文详细介绍了Spring框架中的多个常用注解,如@RestController、@RequestMapping、@RequestBody等。阐述了各注解的功能、使用场景及注意事项,包括依赖注入、配置文件加载、bean作用范围定义等方面,还提及了AOP相关注解的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

@RestController

@RequestMapping 

@RequestBody 


@RestController

他是一个组合注解,包含了@Controller注解和@ResponseBody注解

@Controller注解表示这是一个控制器,用于处理HTTP请求和响应

@ResponseBody注解表示方法返回的结果直接作为HTTP响应的内容,而不是返回一个视图

补充:如果没加ResponseBody注解的话,假如返回值是String,他其实表示的是模板文件的名字比如说jsp文件的名字,他会根据返回的字符串去找到相关的页面,相当于再把页面返回给浏览器

@RequestMapping 

  • value属性:请求URL映射,在类上用RequestMapping对URL进行模块化管理
  • method属性:限定请求URL只能通过指定的method请求方法去访问该HandlerMethod
  • params:通过设置params属性条件,进行访问HandlerMethod的限制

@RequestBody 

用来接收请求体中的数据,常使用请求体传参的无疑就是POST请求了;

不支持GET请求,因为他是通过URL传参

@ Autowired(依赖注入)

自动依赖注入,这个是根据类型装配的,他是使用反射里面的暴力反射给参数直接注入了

但是,如果有两个同类型的实现类只用Autowired是不行的,会报bean类型不唯一,必须要在数据层(@Mapper)等的注解后面加上()里面写上名字,此时注解也会成功,他会在按类型注入不成功的基础上改为按名称注入,但是不推荐这样写,我们需要使用@Qualifier注解

@Qualifier (配合Autowired)

配合着@Autowired注解使用, 使用这个注解来指定名称(用于bean类型不唯一的情况)

@Qualifier("name1")

@Value (简单类型依赖注入)

在后面加个()里面写上简单类型的值

@Value("123")

private String name;

注意,Value注解也可以注入配置文件里面的属性,在配置好@PropertySource注解以后使用${}来注入

@Value(${name})

@PropertySource(加载properties文件) 

在配置类里面加上这个注解,括号里面写要加载的properties文件,如果有多个配置文件,要采取数组的形式,即({"aaaaa","bbbbbb"})

也可以写成("classpath:aaaa")

@Scope(定义bean的作用范围--单例或者非单例)

这个注解写在配置类上面

@Scope("singleton")----------单例

@Scope("prototype")----------非单例

@PostConstruct(初始化) 

写在类里面的初始化方法上面,代表着这个方法是这个bean的初始化方法

@PreDestroy(销毁) 

写在类里面的销毁方法上面,代表着这个方法是这个bean的销毁方法,假如这个方法没有触发,那么可能是bean没有执行到销毁,虚拟机就先自己关闭了,此时我们需要采取关闭钩子或者关闭容器

@Component(定义bean)

用来定义工具类的bean

@ComponentScan(组件扫描) 

扫描我们的Component,Controller,Service,Mapper(Repository)

@ComponentScan("扫描的类的位置")

@Configuration(配置类)

写在类上面,代表这是一个配置类

@Bean (把返回值变成Bean)

这个注解写在方法上面,代表着把这个方法的返回值变成一个Bean,还可以@Bean("")里面写这个bean重新命的名

如果这个bean需要其他的依赖

简单类型采取成员变量的方法(@Value)

引用类型采取方法形参的方法(直接在方法中写上形参,依靠spring容器的自动装配,按类型匹配)

@Import(手动将配置类添加到核心配置类里面) 

这个注解只能用一次,多个数据请用数组格式,写在核心配置类中,有了这个注解就不用每个配置类里面加@Configuration

@Import(***.class)-----***是这个配置类的文件名

@EnableAspectJAutoProxy(aop) 

写在配置类里面,告诉程序,我们要用注解开发aop

 @Aspect(aop)

告诉spring容器,下面的类是用来做aop的,记得配合@EnableAspectJAutoProxy使用,还有@Component(先把他交给spring容器管理)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值