前言:
持续更新记录平时自己在工作中经常用到的注解,如果有错误的地方敬请指正。
启动类:
SpringBootApplication
=@Configuration+@EnableAutoConfiguration+@ComponentScan
SpringBoot的核心注解,目的是开启自动配置
控制类:
@RestController
=@ResponseBody+@Controller
@ResponseBody:该方法的返回结果直接写入HTTP response body中
@Controller:用于定义控制器类 在spring项目中由控制器将URL请求转发到service层
@RequestMapping:
提供路由信息,负责URL到Controller中的具体函数的映射
示例:
export function demo(query){
return request({
url: '/system/demo/functionDemo',
method: 'get',
params: query
})
}
```js
```
```
@RestController
@RequestMapping("/system/demo")
public class demoController extends BaseController
{
```java
```
在前端调用demo方法就会通过url中的system/demo/functionDemo找到RequestMapping中路径为system/demo的控制类,然后寻找functionDemo方法`
@Autowired
自动导入依赖的bean
实例:
```
public class demoController extends BaseController
{
@Autowired
private demoService demoService;
```
```
@PreAuthorize
进入方法前的权限验证 使用这个方法需要的表达式
@PreAuthorize("hasAuthority('system:demo:delete')")//单个权限
@PreAuthorize("hasAnyAuthority('system:demo:delete,system:demo:edit')")//多个权限
@GetMapping @PostMapping
@GetMapping用于处理的请求是get
@RestController
@RequestMapping("/system/demo")
public class demoController extends BaseController
{
@GetMapping("/functionDemo")
public void functionDemo(){
}
通过观察之前的实例,可以看到在js的定义中,functionDemo确实是get类型的请求
@PathVariable
用来获取参数
示例:
// 通过公司id查询列表详情
export function getInfoByCompId(id) {
return request({
url: '/system/demo/getInfoByCompId/' + id,
method: 'get'
})
}
```js
@RestController
@RequestMapping("/system/demo")
public class demoController extends BaseController
{
@GetMapping(value = "/getInfoByCompId/{id}")
public AjaxResult getInfoByCompId(@PathVariable("id") Long id){
returnAjaxResult.success(demoService.getInfoByCompId(id));
}
}
```java
通过PathVariable把js方法中的id拿过来,传入到getInfoByCompId方法中的Long类型的id上
然后调用之前导入的demoService的getInofoByCompId方法时将此id传入 完成通过公司id查询列表详情
实体类:
@Data
需要引入lombok 提供类所有属性的get set toString等方法
@NoArgsConstructor
注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor
注解在类上;为类提供一个全参的构造方法
@Excel
用于导出excel文件时
@Excel(name = "会议记录",cellType= Excel.ColumnType.IMAGE,height = 50)
@Excel(name = "时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
服务实现类
@Service
一般用于修饰service层的组件
@Override
声明重写