springboot常用注解
2021-03-10 05:30
标签:config post请求 添加 mybatis 自定义 url user 运用 com 来源:https://blog.lqdev.cn/2018/07/16/springboot/chapter-six/ 在系统启动类里面,包含了@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan注解; @RestController 是Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。而@Controller是用来创建处理http请求的对象,一般结合 value, method; consumes,produces; params,headers; 其简化注解有: 这三者都是申明一个单例的bean类并纳入spring容器中,后两者其实都是继承于 若要注入配置文件xml,还需要主类配置: 通常一些类无法确定是使用@Service还是@Component时,注解使用@Component,比如redis的配置类等 主要是绑定请求参数到指定对象上。此注解可被用于方法、参数上。 由于现在都采用前后端分离开发,故此注解相对用的较少了,但对于一些在每次请求前需要进行一些额外操作时。使用此注解依然是个选择,比如进行统一的业务校验等,但使用此注解实现类似功能时需要注意,使用异步调用时,比如callable或者DeferredResult时,被此注解的方法会执行两次,因为异步请求时,是挂起另一个线程去重新执行,对于配置了拦截器而已,它们的执行顺序为 springboot常用注解 标签:config post请求 添加 mybatis 自定义 url user 运用 com 原文地址:https://www.cnblogs.com/ziyue7575/p/14158009.htmlspringboot常用注解
@SpringBootApplication
@SpringBootConfiguration
继承至@Configuration,对于熟悉spring的开发者而言,此标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到srping容器中,并且实例名就是方法名。@EnableAutoConfiguration
这个注解就是springboot能自动进行配置的魔法所在了。主要是通过此注解,能所有符合自动配置条件的bean的定义加载到spring容器中,比如根据spring-boot-starter-web ,来判断你的项目是否需要添加了webmvc和tomcat,就会自动的帮你配置web项目中所需要的默认配置。具体的使用,会在后期自定义实现一个自动启动类时,会讲解到它的一些机制。此章节就不深入了,只需要它是这个用途即可,一般上也单独使用不要这个注解,但比如需要排除一些无需自动配置的类时,可利用exclude进行排除。@ComponentScan
这个熟悉spring的开发者也应该熟悉,会扫描当前包及其子包下被@Component,@Controller,@Service,@Repository等注解标记的类并纳入到spring容器中进行管理。@Controller 和 @RestController
@RequestMapping
使用。@RequestMapping
@GetMapping
等同于 @RequestMapping(method = RequestMethod.GET)@PostMapping
等同于 @RequestMapping(method = RequestMethod.POST)@PutMapping
等同于 @RequestMapping(method = RequestMethod.PUT)@DeleteMapping
等同于 @RequestMapping(method = RequestMethod.DELETE)@PatchMapping
等同于 @RequestMapping(method = RequestMethod.PATCH)@RequestBody和@ResponseBody
@RequestBody
注解允许request的参数在reqeust体中,常常结合前端POST请求,进行前后端交互。@ResponseBody
注解支持将返回的参数在reqeust体中,通常返回json格式给前端(一般与@Controller和用,否则返回的结果会被解析为路径)。@PathVariable、@RequestParam、@RequestAttribute
@PathVariable
用来接收参数,如/path/001,可接收001作为参数@RequestParam
用来接收URL中的参数,如/param?id=001,可接收001作为参数@RequestAttribute
用于访问由过滤器或拦截器创建的、预先存在的请求属性,效果等同与request.getAttrbute().@Component、@Service、@Repository
@Component
。
@Component
最普通的组件,可以被注入到spring容器进行管理@Repository
作用于持久层
@MapperScan(basePackages = {"com.tuyou.user.center.repository.standard"})
或者
@MapperScan("cn.qzzg.*.mapper")
@Service
作用于业务逻辑层@Mapper
作用于持久层,若是使用mybatis需要使用这个注解,而不是@Repository
,因为springboot没有集成mybatis,会异常
@ModelAttribute
preHandle ---->afterConcurrentHandlingStarted ----> Controller---->preHandler----> postHandler ----> afterCompletion