查看Springboot官方文档:官文档
使用注解的优势:
1.采用纯java代码,不在需要配置繁杂的xml文件
2.在配置中也可享受面向对象带来的好处
3.类型安全对重构可以提供良好的支持
4.减少复杂配置文件的同时亦能享受到springIoC容器提供的功能
1、@SpringBootApplication 声明让spring boot自动给程序进行必要的配置;
这个配置等同于:@Configuration+@EnableAutoConfiguration + @ComponentScan 三个配置。
Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法。
@SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解, 源码如下
@SpringBootConfiguration:表示Application作为配置文件存在
@EnableAutoConfiguration:表示启用SpringBoot内置的自动配置功能
@ComponentScan : 扫描bean,路径为Application类所在package以及package下的子路径,在spring boot中bean都放置在该路径以及子路径下。
2、@Controller 处理 HTTP 请求
用于定义控制器类,在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping
3、@RestController:用于标注控制层组件(如struts中的action),等同于=@ResponseBody+@Controller。
4、 @RequestMapping:提供路由信息,负责URL到Controller中的具体函数的映射。
注意:@RestController 和 @ RequestMapping 是 SpringMVC 的注解,不是 SpringBoot 特有的。
5、@ResponseBody:表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。在使用@RequestMapping后,返回值通常解析为跳转路径,加上@esponsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@Responsebody后,会直接返回json数据。该注解一般会配合@RequestMapping一起使用
6、@GetMapping 组合注解 相当于 @RequestMapping(method = RequestMethod.GET)
7、@PostMapping 组合注解 相当于 @RequestMapping(method = RequestMethod.POST)
8、@ExceptionHandler(value = Exception.class) 捕获异常 (用于统一异常处理)
9、@ConfigurationProperties 把yml里面一组配置参数封装成一个类
10、@Component 向SpringBoot注册一个类,泛指组件,当组件不好归类的时候,我们可以使用 这个注解进行标注。
11、@PathVariable 获取url中的数据 /230 (获取详细信息)
12、@RequestParam 获取请求参数的值 ?id=230
13、@Valid 表单验证在Controller层加上@valid,后紧跟BindingResult,通过
BingdingResult.getFieId.getDefaultMessage()获取错误信息,表单验证注解
14、@Pointcut注解声明切入点
15、@AfterReturning aop中用@AfterReturning获取返回的内容