springboot注解总结:
最近在学习springboot,接下来做一个有关注解的总结吧!
1、@SpringbootApplication:声明让springboot给程序进行必要的配置(表明是springboot主类使用的配置类)
这个注解等同于以下三个注解:
(1)、@Configuration :相当于传统的xml配置文件,,如果有些第三方库需要用到xml文件,建议仍然通过@Configuration类作为项目
的配置主类——可以使用@ImportResource注解加载xml配置文件。
(2)、@EnableAutoConfiguration :自动配置,尝试根据你添加的jar依赖自动配置你的Spring应用,(通过这个注解把spring应用所需的bean注入容器中)
(3)、@ComponentScan :用来自动扫描被这些注解标识的类,最终生成ioc容器里的bean,默认扫描范围是@ComponentScan注解所在配置类包及子包的类
2、@RestController :用于标注控制层组件,是@Controller和@ResponseBody的结合体,一般用于类,作用等于在类上面添加了@ResponseBody和@Controller
(1)、 @Controller :用于定义控制类,(注入spring容器中),在spring项目中由控制器负责将前端(用户)发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常需要配合注解@RequestMapping,
(2)、@ResponseBody:表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。在使用@RequestMapping后,返回值通常解析为跳转路径,加上@ResponseBody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。会直接返回json数据,也就是字符串格式。该注解一般会配合
(简化为:其实就是是将java对象转为json格式的数据)
@RequestMapping一起使用。
3、@RequestMapping:提供路由信息,负责URL到Controller中的具体函数的映射。(你要访问的路径)
4、@AutoWired、@Qualifier、@Resource
这3个注解都是基于注解方式进行自动装配,在容器里面将查找到的bean返回,@Qualifier则需要配合@AutoWired使用,@Resource则是可以通过名字进行自动装配
5、@GetMapping是Spring4.3提供的新注解,它是一个组合注解,等价于@RequestMapping(method = RequestMethod.Get ),用于简化开发,注意:@RequestMapping如果没有指定请求方式,将接收Get、Post、Head、Options等所有的请求方式.
同理还有@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping等,这些都是组合注解,原理类似!
6、@Service :业务逻辑层 注入spring容器中
7、@NotNull 、 @NotEmpty 、@NotBlank三者区别
(1)、@NotNull:带此注解的元素不能是null。
(2)、@NotEmpty :带此注解的字符串、集合、映射或数组不是null或为空。
即,不为null,不为空!如在List上则该列表的size不为0。
(3)、@NotBlank:带此注解的字符串、集合、映射或数组不是null或为空,与@NotEmpty注解不同的是末尾的空格会被忽略!
即,不为null,不为空,不为空格!
以上就是我所学到的,多给自己做个总结吧算是!