admin管理员组文章数量:1794759
Springboot常用注解及基本说明
导语:
相信现在很多新项目都会首选Springboot作为基础进行开发,主要是它摒弃了spring以往项目中大量繁琐的配置,遵循约定大于配置的原则,通过自身默认配置,极大的降低了项目搭建的复杂度。 springboot提供了大量的注解,使得代码更加简洁高效,就让我们来简单看一下springboot提供的相关注解(其实很一部分也是继承于spring的)
1、@SpringBootApplication 启动类配置: 通常直接使用@SpringBootApplication,该注解相当于以下三个注解, @SpringBootConfiguration:标注当前类是配置类 @EnableAutoConfiguration:是 自动配置的注解 ,这个注解会根据我们添加的组件jar来完成一些默认配置 @ComponentScan:扫描包配置 2、@ServletComponentScan @ServletComponentScan注解后,Servlet、Filter、Listener可以直接通过@WebServlet、@WebFilter、@WebListener注解自动注册,无需其他代码。相关资料 3、@Component spring中使用最多的注解,可以说很多注解都是基于此注解,包括我们常见的@Service、@Controller、@Repository。配合ComponentScan使用,被@Component标注的类会被spring IOC容器管理 4、@Transactional 通过这个注解可以声明事务,可以添加在类上或者方法上。 在spring boot中 不用再单独配置事务管理,一般情况是我们会在servcie层添加了事务注解,即可开启事务。要注意的是,事务的开启只能在public 方法上。并且主要事务切面的回滚条件。正常我们配置rollbackfor exception时 ,如果在方法里捕获了异常就会导致事务切面配置的失效。 【注:需要在启动类上添加@EnableTransactionManagement开启事务支持】 5、@ControllerAdvice @ControllerAdvice 和 @ExceptionHandler 配合完成统一异常拦截处理。 注:需要返回json格式需要使用@RestControllerAdvice,该注解相当于 @ControllerAdvice +@ResponseBody 6、@Autowired 使用过spring的应该对这个注解都不会陌生,spring的按类型注入,值得注意的是多个相同类型的实例存在时,需要配合 @Qualifier指定其名称,否则会启动报错,相当于java的@Resource(name=“xxx”) 7、@MapperScan 通常使用使用@MapperScan指定要扫描的Mapper类的包的路径,而不需要使用@Mapper每个类去指定 8、@PostMapping @GetMappin @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写 @PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写 9、@RestController和@Controller @RestController相当于@Controller+@ResponseBody,使用@RestController直接返回return的数据(如果是对象会默认作序列化处理,即json格式返回) 10、@Async @Async注解的方法为异步方法,使用此注解需要在启动类上使用@EnableAsync,表示开启异步操作的支持。注:本人猜想在同一个class中直接调用标注@Async的类应该不能生效,相当于类方法的直接调用,所以在使用时应该把@Async标注的方法提出来写到其他Component中,在需要调用异步方法的类中调用 11、@Scheduled 执行定时任务注解,如:@Scheduled(cron = "0/5 * * * * ? ") 需要在启动类上添加@EnableScheduling注解,表示开启定义任务的支持 12、@ImportResource导入xml配置文件 13、@Import导入额外的配置信 14、@RequestParam 获取请求参数的值 15、@PathVaribale 获取url中的数据
本文标签: 注解常用SpringBoot
版权声明:本文标题:Springboot常用注解及基本说明 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686810571a105797.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论