SSM框架注解

注解

注解所属框架重要程度应用位置说明
@ComponentSpring★★★★★组件类添加此注解类将被视为“组件”,当Spring执行组件扫描时,如果发现组件类,就会自动创建类的对象
@ControllerSpring★★★★★控制器类特定的组件:控制器,是以@Component作为元注解的,在基于Spring MVC的框架中,控制器类必须添加此注解,或以此为元注解的其它注解
@ServiceSpring★★★★★业务类特定的组件:业务类,是以@Component作为元注解的
@RepositorySpring★★★★★数据访问类特定的组件:数据访问类,是以@Component作为元注解的
@ComponentScanSpring★★★★配置类添加此注解后,当此类被加载时,Spring就会执行组件扫描,扫描的是此注解配置的包及其子孙包,包中的类如果添加了组件相关注解,则Spring会自动创建这些添加了组件注解的类的对象,在Spring Boot项目中,组件扫描默认的根包就是创建项目时得到包,此注解还是Spring Boot中@SpringBootApplication的元注解
@ConfigurationSpring★★★★★配置类添加此注解的类会被视为配置类,在Spring框架中可以使用ApplicationContext直接加载,使类中的配置项生效,或在集成框架中,只要配置类在组件扫描范围内,此类中的配置项即可生效
@AutowiredSpring★★★★★属性,Setter方法,构造方法当添加在属性上,Spring会自动从容器中找到合适的对象为此属性注入值,当添加在Setter方法上或构造方法上,Spring会自动调用对应的方法
@QualifierSpring★★★★属性,方法参数当使用@Autowired自动装配时,如果存在多个匹配类型的对象,且根据名称无法装配时,可以使用此注解指定名称
@PropertySourceSpring★★★★配置类用于指定需要读取的.properties配置文件,当读取配置文件后,会将数据注入到Spring内置的Environment对象中
@ValueSpring★★★★★属性,方法的参数主要用于配置读取Environment数据的表达式,使得Spring为属性、方法的参数注入值
@BeanSpring★★★★★配置类中返回对象的方法使得Spring自动调用此方法,并将方法返回的对象保存在Spring容器中
@ScopeSpring★★组件类配置此类的对象是否为单例的
@LazySpring★★组件类当组件类的对象将是单例的,配置它是否为懒加载
@PostConstructjavax★★组件类的方法标记此方法是“初始化”的生命周期方法,Spring会在实例化对象后自动调用此方法
@PreDestroyjava★★组件类的方法标记此方法是“销毁”的生命周期方法,Spring会在销毁对象之前自动调用此方法
@Resourcejavax★★属性用于自动装配,从执行效果上,一定程度可以等效于@Autowired
@MapperScanMybatis★★★★★配置类配置Mybatis接口所在的根包,使得Mybatis可以创建这些接口的代理对象
@MapperMybatis★★★数据访问接口用于指定哪些接口是Mybatis需要创建代理对象的,不与@MapperScan同时使用
@ParamMybatis★★★★★方法参数当Mapper接口中抽象方法的参数超过1个时,应该添加此注解,用于配置参数名称,后续,在SQL中#{}占位符中的名称就是此注解配置的名称
@InsertMybatis★★抽象方法配置Mapper接口中抽象方法映射的SQL语句
@DeleteMybatis★★抽象方法配置Mapper接口中抽象方法映射的SQL语句
@UpdateMybatis★★抽象方法配置Mapper接口中抽象方法映射的SQL语句
@SelectMybatis★★抽象方法配置Mapper接口中抽象方法映射的SQL语句
@TestJUnit★★★★★测试方法标识此方法是一个JUnit测试方法
@SqlSpring Test★★★★★测试类,测试方法用于配置需要执行的SQL脚本,及执行阶段,当测试类和测试方法上都添加了此注解,则测试方法上的注解会覆盖测试类上的注解
@SpringJUnitConfigSpring Test★★★★测试类用于指定Spring的配置类,使得当前测试类在执行测试方法之前会加载Spring环境,则在测试类中可以使用任何Spring的机制,例如自动装配等
@ResponseBodySpring MVC★★★控制器类,处理请求的方法当在控制器类上添加此注解,则类中所有处理请求的方法都将响应正文,当在控制器类中处理请求的方法上添加此注解,则此方法将响应正文。此注解是@RestController@RestControllerAdvice的元注解
@RestControllerSpring MVC★★★★★控制器类标记当前类是控制器类,且类中处理请求的方法均响应正文
@RequestMappingSpring MVC★★★★★控制器类,处理请求的方法当在控制器类上添加此注解,通常用于配置请求路径的前缀,也可配置一些其它的参数,当在处理请求的方法上添加此注解,通常用于配置请求路径(在类的上配置的路径基础之上),也可以配置其它参数,例如限制请求方式
@GetMappingSpring MVC★★★★★处理请求的方法相当于@RequestMapping(method = RequestMethod.GET)
@PostMappingSpring MVC★★★★★处理请求的方法相当于@RequestMapping(method = RequestMethod.POST)
@PutMappingSpring MVC★★处理请求的方法相当于@RequestMapping(method = RequestMethod.PUT)
@DeleteMappingSpring MVC★★处理请求的方法相当于@RequestMapping(method = RequestMethod.DELETE)
@PathVariableSpring MVC★★★★★处理请求的方法的参数读取在URL中使用{}格式进行占位的参数值
@RequestParamSpring MVC★★★处理请求的方法的参数可以配置此参数的名称、是否必须、默认值
@RequestBodySpring MVC★★★★处理请求的方法的参数标记此参数是在请求体中获取的数据,可支持客户端通过JSON格式提交请求参数
@ExceptionHandlerSpring MVC★★★★★处理异常的方法标记此方法是统一处理异常的方法
@ControllerAdviceSpring MVC★★★Spring MVC会在每次处理请求时按需调用此类中的方法,例如,处理请求时抛出异常,则会调用此类中处理异常的方法
@RestControllerAdviceSpring MVC★★★★★标记此类是响应正文的且具有@ControllerAdvice效果的,

全局异常处理一般写一个类,添加上@RestControllerAdvice注解,在写处理方法,加上@ExceptionHandler注解

@EnableWebMvcSpring MVC★★★Spring MVC的配置类开启Spring MVC的增强模式,例如响应JSON格式的正文时需要开启,在Spring Boot中默认已开启,无需显式使用此注解
@SpringBootConfigurationSpring Boot★★★标记此类是Spring Boot的配置类
@SpringBootApplicationSpring Boot★★★★★标记此类是Spring Boot的应用程序类,也是启动类,也是配置类,每个Spring Boot工程中只能有1个类添加此注解
@SpringBootTestSpring Boot★★★★★测试类标记此类是Spring Boot的测试类,会自动加载项目中的环境,例如Spring环境等
@DataLombok★★★★★POJO类将在编译期干预,生成Setters & Getters,hashCode()equals()toString()
@AccessorsLombok★★★POJO类将Setters调整为返回当前对象
@Slf4jLombok★★★★★

将在编译期干预,将声明并实例化一个名为log的变量,则在此类中可以使用log变量输出日志

api文档:

  • @Api:是添加在控制器类上的注解,通过此注解的tags属性可以修改原本显示控制器类名称的位置的文本,通常,建议在配置的tags值上添加序号,例如:"1. 管理员模块""2. 商品模块",则框架会根据值进行排序
  • @ApiOperation:是添加在控制器类中处理请求的方法上的注解,用于配置此方法处理的请求在API文档中显示的文本
  • @ApiOperationSupport:是添加在控制器类中处理请求的方法上的注解,通过配置其order属性可以指定各方法在API文档中的显示顺序
  • @ApiModelProperty:是添加在POJO类的属性上的注解,用于对请求参数或响应结果中的某个属性进行说明,主要通过其value属性配置描述文本,并可通过example属性配置示例值,还可在响应结果时通过position属性指定顺序
  • @ApiImplicitParam:是添加在控制器类中处理请求的方法上的注解,也可以作为@ApiImplicitParams注解的参数值,主要用于配置非封装的参数,主要配置namevalueexamplerequireddataType属性
  • @ApiImplicitParams:是添加在控制器类中处理请求的方法上的注解,当方法有多个非封装的参数时,在方法上添加此注解,并在注解内部通过@ApiImplicitParam数组配置多个参数

@Param:Mybatis中不允许直接传递多个数据,如果是多值需要转化为单值.(Mybatis为转化Map集合提供了注解@Param)

@Accessors(chain = true) :开启链式加载

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值