SpringBoot常见注解

1.@SpringBootApplication

一般不会主动使用,创建SpringBoot项目后默认在主类加上,可以看作是@Configuration、@EnableAutoConfiguration、@ComponentScan注解的集合

2. @Configuration

运行在Spring上下文中注册额外的bean或导入其他配置类

3.@EnableAutoConfiguration

启动SpringBoot的自动配置机制

4.@ComponentScan

扫描被@Component(@Repository,@Service,@Controller)注解的bean,注解默认会扫描该类所在包下的所有类

5.@Autowired

自动导入对象到类中,被注入进的类同样要被Spring容器管理

6.@Comonpent

通用的注解,可标注任意类为Spring组件,如果一个类不知道属于哪个层,可以使用@Component注解标志

7.@Repository

对应持久层即Dao层,主要用于数据库相关操作

8.@Service

对应服务层,主要涉及一些复杂的逻辑,需要用到Dao层

9.@Controller

对应SpringMVC控制层,主要用于接受用户请求并调用Service层返回数据给前端页面

10.种常见的请求类型:

  • GET :请求从服务器获取特定资源。举个例子:GET /users(获取所有学生)
  • POST :在服务器上创建一个新的资源。举个例子:POST /users(创建学生)
  • PUT :更新服务器上的资源(客户端提供更新后的整个资源)。举个例子:PUT /users/12(更新编号为 12 的学生)
  • DELETE :从服务器删除特定的资源。举个例子:DELETE /users/12(删除编号为 12 的学生)
  • PATCH:更新服务器上的资源(客户端提供更改的属性,可以看做作是部分更新),使用的比较少,这里就不举例子了

11.前后端传值

11.1 @PathVariable和@RequesParam

@PathVariable用于获取路径参数,@RequesParam用于获取查询参数。

11.2 @RequestBody

用于读取 Request 请求(可能是 POST,PUT,DELETE,GET 请求)的 body 部分并且Content-Type 为 application/json 格式的数据,接收到数据之后会自动将数据绑定到 Java 对象上去。系统会使用HttpMessageConverter或者自定义的HttpMessageConverter将请求的 body 中的 json 字符串转换为 java 对象。

12.读取配置信息

12.1 @Value

使用@Value("${property}") 读取比较简单的配置信息

12.2 @ConfigurationProperties

通过 @ConfigurationProperties读取配置信息并与 bean 绑定。

12.3 @PropertySource

@PropertySource读取指定 properties 文件

13.全局处理Controller层异常

@ControllerAdvice:注解定义全局异常处理类

@ExceptionHandler:注解声明异常处理方法

14.事务@Transactional

开启事务。

作用于类:表明该类的public方法都配置相同的事务属性信息

作用于方法:当类配置了注解,方法也配置了,那么方法的事务会覆盖类的事务配置信息

15.测试相关

@ActiveProfiles:一般作用于测试类上, 用于声明生效的 Spring 配置文件。

@Test:声明一个方法为测试方法

@Transactional:被声明的测试方法的数据会回滚,避免污染测试数据。

@WithMockUser:Spring Security 提供的,用来模拟一个真实用户,并且可以赋予权限。

相关推荐
xzl043 分钟前
小智服务器:设备的各种MCP消息、初始化响应、工具列表和工具调用响应
java·网络·python
夜勤月5 分钟前
拒绝线程死锁与调度延迟:深度实战 C++ 内存模型与无锁队列,构建高并发系统级中枢
java·c++·spring
洛文泽9 分钟前
BigDecimal类型的数组转为字符串,并且去掉无效的0
java
a程序小傲10 分钟前
SpringBoot 秒实现在线 Word 编辑、协同、转化等功能
java·开发语言·spring boot·后端·spring·word·深度优先
小北方城市网10 分钟前
微服务接口熔断降级与限流实战:保障系统高可用
java·spring boot·python·rabbitmq·java-rabbitmq·数据库架构
Remember_99311 分钟前
【LeetCode精选算法】前缀和专题一
java·开发语言·数据结构·算法·leetcode·eclipse
BlockChain88813 分钟前
Spring Cloud实战:电商微服务系统从0到1(25000字终极实战指南)
spring·spring cloud·微服务
indexsunny15 分钟前
互联网大厂Java面试实战:Spring Boot与微服务在电商场景中的应用
java·spring boot·redis·微服务·kafka·spring security·电商
a程序小傲17 分钟前
国家电网Java面试被问:API网关的JWT令牌验证和OAuth2.0授权码流程
java·开发语言·spring boot·后端·面试·职场和发展·word
tqs_1234518 分钟前
单例模式代码
java·开发语言·单例模式