Sping-boot常用注解

根据我平时练习的项目所总结的常用注解,后续会补充,可能存在一些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>

常见注解

  1. @Slf4j@Slf4j 是 Lombok 提供的注解,用于自动生成日志记录器。它可以简化在类中创建日志记录器的过程,只需使用 log 变量即可进行日志记录操作。

  2. @Component@Component 是 Spring 的注解,用于标识一个类是组件。通过在需要被 Spring 管理的类上添加 @Component 注解,Spring 会自动将其实例化为一个 Bean,并将其加入到应用程序的上下文中。

  3. @Aspect@Aspect 是 Spring 的注解,用于标识一个类是切面。切面是用于定义横切关注点和通知的类,用于实现面向切面编程(AOP)。通过在需要作为切面的类上添加 @Aspect 注解,Spring 会自动将其识别为切面,并在匹配的连接点上应用切面逻辑。

  4. @Autowired@Autowired 是 Spring 的注解,用于自动装配依赖关系。通过在需要依赖的字段、构造函数或方法上添加 @Autowired 注解,Spring 会自动查找匹配的依赖,并将其注入进来。

  5. @Configuration@Configuration 是 Spring 的注解,用于标识一个类是配置类。配置类用于定义和组装 Bean,以及配置其他 Spring 相关的配置项。通过在需要作为配置类的类上添加 @Configuration 注解,Spring 会自动扫描并加载该类中的配置信息。

  6. @RequestMapping("/depts")@RequestMapping 是 Spring MVC 中的注解,用于将请求映射到控制器的具体方法上。在这个例子中,@RequestMapping("/depts") 表示将 /depts 路径下的请求映射到该控制器中的方法。

  7. @RestController@RestController 是 Spring MVC 中的注解,用于标识一个类是 RESTful 风格的控制器。它相当于 @Controller 和 @ResponseBody 两个注解的组合,表示该控制器的方法返回的是 JSON 或 XML 格式的响应。

  8. @GetMapping@GetMapping 是 Spring MVC 中的注解,用于将 GET 请求映射到控制器的具体方法上。在这个例子中,@GetMapping 表示将 HTTP GET 请求映射到该控制器中的方法。

  9. @Data@Data 是 Lombok 提供的注解,用于自动生成所有字段的 getter、setter、equals、hashCode 和 toString 方法。它可以简化类的编写,减少样板代码。

  10. @NoArgsConstructor@NoArgsConstructor 是 Lombok 提供的注解,用于自动生成无参构造函数。它可以简化类的编写,减少样板代码。

  11. @AllArgsConstructor@AllArgsConstructor 是 Lombok 提供的注解,用于自动生成全参构造函数。它可以简化类的编写,减少样板代码。

  12. @Mapper@Mapper 是 MyBatis 提供的注解,用于标识一个接口是映射器接口。映射器接口定义了与数据库交互的方法,通过在需要作为映射器接口的接口上添加 @Mapper 注解,MyBatis 会自动实现该接口的实例,并将其注册为映射器。

  13. @RestControllerAdvice@RestControllerAdvice 是 Spring MVC 中的注解,用于定义全局的异常处理器。通过在需要作为全局异常处理器的类上添加 @RestControllerAdvice 注解,Spring MVC 会自动捕获控制器中抛出的异常,并统一处理。

  14. @ExceptionHandler(Exception.class)@ExceptionHandler 是 Spring MVC 中的注解,用于定义异常处理方法。在这个例子中,@ExceptionHandler(Exception.class) 表示捕获所有类型的异常,并在该方法中进行统一处理。

  15. @ServletComponentScan@ServletComponentScan 是 Spring Boot 的注解,用于开启对 Servlet 组件的支持。通过在启动类上添加 @ServletComponentScan 注解,Spring Boot 会自动扫描并注册 Servlet 组件。

  16. @SpringBootApplication@SpringBootApplication 是 Spring Boot 的注解,用于标识一个类是 Spring Boot 应用程序的启动类。通过在需要作为启动类的类上添加 @SpringBootApplication 注解,Spring Boot 会自动扫描并加载该类中的配置信息,并启动应用程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值