• 框架 注解


    注解

    Spring的相关注解

    用于启动类上面的注解

    @SpringBootApplication 框架名 应用程序

    这是一个复合注解

    @SpringBootConfiguration 配置

    作用与@Configuration一样,让当前类成为配置类

    @EnableAutoConfiguration 允许自动化

    开启自动化配置

    @ComponentScan 组件扫描器

    开启Ioc容器扫描器,自动扫描与当前启动类同级或下级的所有的组件类,发现注册注入

    @MapperScan("com.iweb.springbootshop.mapper")

    配置Mapper接口所在包路径,MyBatis基于动态代理模式,在运行时代理所有Mapper方法中接口的实现

    用于控制器上面的注解

    @Controller

    让当前类被扫描器发现并注册对象到IOC容器,并且对象被当做控制器使用

    @RequestMapping

    映射类或方法的请求url地址,类可以有地址也可以没有,类的url地址是当前类中使用方法url地址的前缀,给类映射url地址的时候不可以指定请求方法,给方法映射url地址的时候可以指定请求方式为get和post,如果不指定默认get

    url地址和请求方式要全局唯一

    @GetMapping

    @PostMapping

    @ResponseBody

    将控制器方法返回的结果直接转换为json格式,然后放到响应报文中进行返回,这样控制器方法只返回数据,不转发到JSP

    它是和ajax发起的HTTP请求一起使用的

    @RequestParam

    用于修正参数名,设置参数是不是必须的

    Rest风格的控制器

    @RestController

    定义一个rest风格的控制器

    控制器中所有的方法都默认使用了@ResponseBody注释,只返回数据,不转发和重定向

    @GetMapping

    @PostMapping

     

     

     

     

     

     

     

     用于Service上面的注解

    @Service

    让Service类被IOC容器发现,注销

    用于Mapper接口中的注解

    @Param

    当接口中的方法有多个参数的时候,需要用@Param修正参数的名字,在Mapper.xml文件中根据@Param注解修正后的名字进行取值

    用于实体类的注解

    @TableName

    用于实体类,映射表名

    @TableId

    映射表中的主键id

    @TableField

    映射表中的字段

    如果实体类中类名和属性名完全遵守驼峰命名规范

    数据库表名和字段名完全遵守全小写+下划线连字符规范

    那么就不需要使用@TableName和@TableField进行手动映射,MyBatist框架会自动映射

    配置相关的注解

    @Configuration

    让任意一个类成为一个配置类

    @Bean

    用于配置类中的方法,将方法返回的对象注册到IOC容器中

    @Value(“$(配置名)”)

    用于读取application.properties核心配置文件中根据配置名读取配置值,并把值赋给成员变量

    IOC 注解(控制反转,让扫描器去发现,注册Bean到IOC容器)

    @Controller(用于控制器)

    @Service(用于Service)

    @Repository(用于dao)

    @Component(用于普通插件类,例如用于Aop类)

    @Configuration(用于配置类)

    @Scope

    (用于设置注册Bean的作用域)

    @Scope(singleton)单例模式

    在启动就会发现注册Bean到IOC容器,在使用时不会创建Bean

    @Scope(prototype)原型模式

    在启动时不会发现注册Bean到IOC容器,在使用时每次都会创建新的bean

    DI注解(依赖注入)

    @Resource

    JDK提供的

    @Autowired

    框架自带的

    AOP相关注解(面向切面编程)

    @Aspect

    定义一个aop切面类

    @Pointcut(“execution(*com。)”)

    定义一个切面表达式,根据表达式寻找被Aop代理增强的目标方法

    @Before

    定义一个前置代理增强的方法

    @AfterReturning

    定义一个返回代理增强的方法

    @AfterThrowing

    定义一个报错异常代理增强的方法

    @After

    定义一个后置增强的方法

    @Around

    定义一个环绕增强的方法

    Spring事务管理注释

    @Transactional

    1. 可以用于类,也可以用于方法,如果用于类,则类中所有方法都会开事务执行,用于方法是单个方法开事务执行

    2. 可以用于Controller类,也可以用于Service类,或者其他操作数据库的类

    3. 必须指定rollbackFor=某个异常类型.class,表示当执行过程中发生这种异常时进行回滚,不发生执行提交

    @Transactional(rollbackFor = Exception.class)

    1. 事务隔离级别默认是数据库的默认隔离级别,可以通过isolation 设置,取值是Isolation枚举类型

    @Transactional(rollbackFor = Exception.class, isolation = Isolation.DEFAULT)

    1. 可以通过propagation指定事务传播机制,取值是Propagation枚举类型

     

     

     

    Lombok相关注解

    @Data

    用于自动生成getter和setter和tostring方法,在编译时自动在字节码中生成,重写equals和hashcode方法

    @slf4j

    用于在字节码中生成一个全局静态常量log,用于打印日志

  • 相关阅读:
    SSM 线上知识竞赛系统-计算机毕设 附源码 27170
    【设计模式】Java 设计模式之享元模式(Flyweight)
    C语言基础5:操作符详解:算术、移位、赋值、单目、关系、逻辑、条件、逗号表达式、下标引用、表达式求值
    Qt应用开发(基础篇)——列表视图 QListView
    基于SSM的网络教学(作业)管理系统
    应用案例|基于三维机器视觉的机器人引导电动汽车充电头自动插拔应用方案
    1288_FreeRTOS中vTaskResume()接口以及中断安全版本接口实现分析
    JNDIExploit-1.2-SNAPSHOT.jar工具在log4j漏洞复现中的使用
    安全浏览器是否可以直接“回击”浏览器主页劫持?
    openstack计算节点的虚机部署安装
  • 原文地址:https://blog.csdn.net/qq_57420582/article/details/126317311