根据我平时练习的项目所总结的常用注解,后续会补充,可能存在一些bug请仔细检查。
注意:里面包含了mybatis的依赖,需要配置mysql数据库;
请在idea中运行,因为我的项目是在idea中创建,里面勾选了mybatis和mysql driver,sping web等依赖
文章仅供参考,作者能力有限,请多包涵
版本:2.7.15
Maven版本:3.6.1
MySQL版本8.0.34:
JDK:11
所需依赖包
<!--web起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--mybatis起步依赖--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.3.1</version> </dependency> <!--mysql驱动--> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!--springboot单元测试--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--PageHelper分页插件--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.4.2</version> </dependency> <!--阿里云OSS--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.15.1</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency> <!-- no more than 2.3.3--> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-runtime</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> </dependency> <!--JWT令牌--> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.1</version> </dependency> <!--fastJSON--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.76</version> </dependency> <!-- AOP的起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
<!-- swagger所需依赖-->
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-spring-web</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>3.0.2</version> </dependency>
常见注解
-
@Slf4j
:@Slf4j
是 Lombok 提供的注解,用于自动生成日志记录器。它可以简化在类中创建日志记录器的过程,只需使用log
变量即可进行日志记录操作。 -
@Component
:@Component
是 Spring 的注解,用于标识一个类是组件。通过在需要被 Spring 管理的类上添加@Component
注解,Spring 会自动将其实例化为一个 Bean,并将其加入到应用程序的上下文中。 -
@Aspect
:@Aspect
是 Spring 的注解,用于标识一个类是切面。切面是用于定义横切关注点和通知的类,用于实现面向切面编程(AOP)。通过在需要作为切面的类上添加@Aspect
注解,Spring 会自动将其识别为切面,并在匹配的连接点上应用切面逻辑。 -
@Autowired
:@Autowired
是 Spring 的注解,用于自动装配依赖关系。通过在需要依赖的字段、构造函数或方法上添加@Autowired
注解,Spring 会自动查找匹配的依赖,并将其注入进来。 -
@Configuration
:@Configuration
是 Spring 的注解,用于标识一个类是配置类。配置类用于定义和组装 Bean,以及配置其他 Spring 相关的配置项。通过在需要作为配置类的类上添加@Configuration
注解,Spring 会自动扫描并加载该类中的配置信息。 -
@RequestMapping("/depts")
:@RequestMapping
是 Spring MVC 中的注解,用于将请求映射到控制器的具体方法上。在这个例子中,@RequestMapping("/depts")
表示将/depts
路径下的请求映射到该控制器中的方法。 -
@RestController
:@RestController
是 Spring MVC 中的注解,用于标识一个类是 RESTful 风格的控制器。它相当于@Controller
和@ResponseBody
两个注解的组合,表示该控制器的方法返回的是 JSON 或 XML 格式的响应。 -
@GetMapping
:@GetMapping
是 Spring MVC 中的注解,用于将 GET 请求映射到控制器的具体方法上。在这个例子中,@GetMapping
表示将 HTTP GET 请求映射到该控制器中的方法。 -
@Data
:@Data
是 Lombok 提供的注解,用于自动生成所有字段的 getter、setter、equals、hashCode 和 toString 方法。它可以简化类的编写,减少样板代码。 -
@NoArgsConstructor
:@NoArgsConstructor
是 Lombok 提供的注解,用于自动生成无参构造函数。它可以简化类的编写,减少样板代码。 -
@AllArgsConstructor
:@AllArgsConstructor
是 Lombok 提供的注解,用于自动生成全参构造函数。它可以简化类的编写,减少样板代码。 -
@Mapper
:@Mapper
是 MyBatis 提供的注解,用于标识一个接口是映射器接口。映射器接口定义了与数据库交互的方法,通过在需要作为映射器接口的接口上添加@Mapper
注解,MyBatis 会自动实现该接口的实例,并将其注册为映射器。 -
@RestControllerAdvice
:@RestControllerAdvice
是 Spring MVC 中的注解,用于定义全局的异常处理器。通过在需要作为全局异常处理器的类上添加@RestControllerAdvice
注解,Spring MVC 会自动捕获控制器中抛出的异常,并统一处理。 -
@ExceptionHandler(Exception.class)
:@ExceptionHandler
是 Spring MVC 中的注解,用于定义异常处理方法。在这个例子中,@ExceptionHandler(Exception.class)
表示捕获所有类型的异常,并在该方法中进行统一处理。 -
@ServletComponentScan
:@ServletComponentScan
是 Spring Boot 的注解,用于开启对 Servlet 组件的支持。通过在启动类上添加@ServletComponentScan
注解,Spring Boot 会自动扫描并注册 Servlet 组件。 -
@SpringBootApplication
:@SpringBootApplication
是 Spring Boot 的注解,用于标识一个类是 Spring Boot 应用程序的启动类。通过在需要作为启动类的类上添加@SpringBootApplication
注解,Spring Boot 会自动扫描并加载该类中的配置信息,并启动应用程序。