ssm常用的注解

9 篇文章 0 订阅
@RestController

此注解有两个目的。首先他是一个类似于@controller和@Service的构造型注解,能够让类被组件扫描功能发现。但是,与REST最相关在于@RestController会告诉Spring,控制器中所有的处理器方法的返回值都要直接写入响应体中,而不是将值放到模型中并传递给一个视图以便于渲染。
作为替代方案就是@Controller加上@ResponseBody 。

@RestController
public class Controller {
    
}
@ApiVersion(1)

指定版本号的注解,此时版本号为1

@ApiVersion(1)
public class ExamineeController {

}
@RequestMapping

是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。用于方法上则是对方法进行注解以产生访问的路径。

@RequestMapping("/test")
public class ExamineeController {

}

请添加图片描述

使用请求获取

@Autowired

是一个注释,它可以对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作。

@Autowired
private ITestService testService;
@Log

自定义操作日志记录注解

@Log(value = "测试", businessType = BusinessType.INSERTORUPDATE) 
public void test(){
    
}
@PreAuthorize

验证是否有权限

@PreAuthorize("hasAuthority('/test/save')")
public void test(){
    
}
@ApiImplicitParam
@ApiImplicitParams({@ApiImplicitParam(name = "Authorization", value = "Authorization token", required = true, dataType = "string", paramType = "header")})

sweeger作用在方法上,用于设置单个请求参数,用法示例
name :参数名。
value : 参数的具体意义,作用。
required : 参数是否必填。
dataType :参数的数据类型。
paramType :查询参数类型

@ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据操作更改。

@ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response = “接口返回参数类型”, notes = “接口发布说明”。


@ApiParam(required = “是否必须参数”, name = “参数名称”, value = “参数具体描述”。
@PostMapping和 @GetMapping

分别处理post 和get请求
value 请求路由地址
path 指定路由地址
params 指定request中必须包含某些参数值
headers 指定request中必须包含某些指定的header值
consumes 请求提交内容类型,MediaType方式,如 application/json、application/x-www-urlencode、multipart/form-data等
produces 请求返回的数据类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回,如application/json

 @GetMapping("/test")
 public ResultJson test(){

 }
 
 @PostMapping("/test1")
 public ResultJson test1(){

 }

@Builder

生成一个全属性的构造器
生成了一个返回静态内部类PersonBuilder对象的方法
生成了一个静态内部类PersonBuilder,这个静态内部类包含Person类的三个属性,无参构造器,三个方法名为属性名的方法,返回Person对象的build方法,输出静态内部类三个属性的toString()方法。

@Builder
public class Signature {

   private String name;

}
@Data

相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集。

@Data
public class Signature {

   private String name;

}
@TableName

此注解主要是实现实体类型和数据库中的表实现映射。

@TableName("test")
public class Signature {

   private String name;

}

请添加图片描述

@TableId(type = IdType.AUTO)

设置id生成策略,在哪个变量上面哪个就是id

@TableId(type = IdType.AUTO)
private Long id;

请添加图片描述

@Excel(name = “姓名”)

读取excel表格中的值所需的注解

@Excel(name = "姓名")
private String name;

请添加图片描述

@TableField()

该注解用于标识非主键的字段。将数据库列与 JavaBean 中的属性进行映射,fill为字段自动填充策略,默认为 FieldFill.DEFAULT

//自动填充策略
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
//在数据库不存在这个字段,业务中使用        
@TableField(exist=false)
private LocalDateTime createTimeBegin;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern=“yyyy-MM-dd HH:mm:ss”)

@JsonFormat注解是一个时间格式化注解,比如我们存储在mysql中的数据是date类型的,当我们读取出来封装在实体类中的时候,就会变成英文时间格式,而不是yyyy-MM-dd HH:mm:ss这样的中文时间,因此我们需要用到JsonFormat注解来格式化我们的时间。

//将时间格式化为中文时间
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;

请添加图片描述

@Param

@Param的作用就是给参数命名,比如在mapper里面某方法A(int id),当添加注解后A(@Param(“userId”) int id),也就是说外部想要取出传入的id值,只需要取它的参数名userId就可以了。将参数值传如SQL语句中,通过#{userId}进行取值给SQL的参数赋值

int test(@Param("userId") int id);

mybatis中的写法

请添加图片描述

@Service

@Service注解用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中,不需要再在applicationContext.xml文件定义bean了。

@Service
public class TestServiceImpl extends ServiceImpl<TestMapper, Test> implements ITestService {

}
@Override

@Override注解是伪代码,用于表示被标注的方法是一个重写方法。

@Override
public void test(){

}
@Slf4j
注解在类上;为类提供一个 属性名为log的Slf4j日志对像
@Component

标注Spring管理的Bean,使用@Component注解在一个类上,表示将此类标记为Spring容器中的一个Bean

@Component
public class GenConfig {

    public String author;

}
@ConfigurationProperties(prefix = “gen”)

可以读取配置⽂件中的信息,并⾃动封装成实体类。

//配置信息在yml中
@ConfigurationProperties(prefix = "gen")
public class GenConfig {
    /** 作者 */
    @Value("${author}")
    public String author;
}

请添加图片描述

@PropertySource(value = “classpath:gen.yml”)

Spring框架提供了PropertySource注解,目的是加载指定的属性文件

@PropertySource(value = "classpath:gen.yml")
public class GenConfig {
    /** 作者 */
    @Value("${author}")
    public String author;
}
@SpringBootApplication

是Sprnig Boot项目的核心注解,目的是开启自动配置

@SpringBootApplication
public class NiuaApplication {
	public static void main(String[] args) {
		SpringApplication.run(NiuaApplication.class, args);
	}
}

请添加图片描述

@Configuration

@Configuration注解和@Component一样可以创建对象;@Configuration注解还可以让@Bean对象依赖于当前配置类的其它Bean

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值