开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情
Springboot常用注解
@Autowired
该注解可以标注在构造器、方法、属性上面,利用Spring来完成自动装配。Spring默认会根据属性类型,自动将匹配的属性值进行注入,之后就可以进行使用。
@Resource
@Resource和@Autowired功能类似,都是利用Spring来进行自动注入,但是@Autowired不能指定name和type属性,@Resource是可以指定name和type属性,这样我们可以直接指定注入的是哪个bean。
@Component、@Controller、@Service、@Repository
- @Component注解是标注这个类是Spring的组件,如果不清楚这个类属于Controller、Service、DAO哪一层,可以使用该注解。
- @Controller注解标注这个类是属于Controller控制层。
- @Service注解是标注这个类属于Service服务层,服务层涉及的是一些逻辑操作。
- @Repository注解是标注这个类是属于DAO层,用于数据库操作。
@CrossOrigin
该注解主要是解决跨域问题,原理是利用Spring的拦截器,在response中增加
Access-Control-Allow-Origin响应头信息。
@RestController
该注解是@Controller和@ResponseBody两个注解的组合,表示该类是一个Controller类,Controller类中的方法返回值默认是JSON对象。
@Scope
声明bean的作用域,有singleton、prototype、request、session四种作用域。
@Configuration
标识该类是配置类,可代替xml配置文件。
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMpping
分别对应GET、POST、PUT、DELETE、PATCH这5种请求类型。
@PathVariable
代表该参数是一个路径参数,参数会在上方的请求路径中。
@RequestParam
代表该参数是一个查询参数,例如获取get请求路径?后面参数。
@RequestBody
用于获取请求的body部分并且Content-Type是application/json的数据,获取到body中的数据后会自动把json数据转换到参数中的java对象中,我们可以直接对该java对象进行操作。
@Value
用于获取配置文件中的信息,例如获取配置的短信ak、sk。
@Scheduled
声明该类是一个任务,里面可以设置cron,定时执行。
@Async
声明该方法是一个异步执行的方法,可以用在方法上或者类上面。
@Transactional
该注解可以用在类上、接口上、方法上,表示将类、方法纳入Spring的事务管理,每个业务方法执行时都会开启一个事务。