• springBoot常用注解


    springboot启动类写法:

    @SpringBootApplication
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }

    1、@RestController 和  @Controller 指定一个类,作为控制器的注解

    @RestController 是spring4新加入的注解,原来返回json需要@ResponseBody和@Controller配合,现在@RestController是他俩的组合注解。

    @ResponseBody会自动将控制器方法的返回值写入到Http响应中,且一定要与@Controller注解联合使用

    @Controller 是@Component注解的延伸,spring会自动扫描并配置被该注解标注的类(@Component没有明确的业务范围,只是通知spring被此注解标注的类要纳入到spring bean容器并进行管理)

    @Service、@Repository(标注DAO层)都是@Component注解的延伸

    2、@RequestMapping(value = "URL或路径别名",method = RequestMethod.GET)   方法级别的映射注解   --->springMVC用很多

    @RequestMapping 注解的主要用途是将web请求与请求处理类中的方法进行映射。RequestMappingHandlerMapping和RequestMappingHandlerAdapter两个类

    提供对该注解的支持。

    @GetMapping是一个组合注解,相当于@RequestMapping的配置属性Method = RequestMethod.GET,

    同理还有@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping

    3、@RequestBody在处理请求方法的参数列表中使用,将请求主体中的参数绑定到一个对象中(通过请求主体的参数名与对象属性名进行匹配并绑定值),一般与RequestMapping一起使用

    与@Valid注解组合使用对请求主体中的参数进行校验:public User createUser(@Valid @RequestBody User user){   xxx }

    4、@EnableAutoConfiguration 和@SpringBootApplication   是类级别的注解,引用spring-boot-starter-web依赖,则默认自动配置springMVC和tomcat容器

    @EnableAutoConfiguration:Spring Boot会自动根据你jar包的依赖来自动配置项目;

    @SpringBootApplication  是以下三个注解的总和:@Configuration、@EnableAutoConfiguration、@ComponentScan 

    5、@Configuration  类级别注解(不能是final类,不能是匿名类),一般用来标识main方法所在的类,完成元数据bean的初始化

    @Configuration 作用在类上等价为Spring 的xml文件的<beans>

    @ComponentScan  类级别注解,自动扫描加载所有spring组件,一般用在main方法的类上告诉Spring 哪个packages 的用注解标识的类 会被spring自动扫描并且装入bean容器,例如:@ComponentScan (basePackage = "com.huawei.core.domain")

    使用@ComponentScan 注解等价于使用了<context:component-scan  base-package = "com.huawei.dao.*">

    @Autowire  一般与@ComponentScan 结合使用,自动注入一个service或DAO级别的bean

    @ImportResource  类级别的注解,当必须使用一个xml的配置时,使用它与@Configuration 来标识这个文件资源的类

    6、事务   @Transactional注解   用在方法就是方法事务,用在类上就是类事务

    7、@PathVariable注解是将方法中的参数绑定到请求URI的模板变量上,可以通过@RequestMapping指定URI的模板变量(模板变量名需要使用 { } 进行包裹),然后使用@PathVariable绑定方法的参数到模板变量上。

    例子:

    @GetMapping(“/users/{ id} /roles / {roleid}”)

    public Role getUserRole( @PathVariable(name="id") long id, @PathVariable(name="roleid") long roleid) throws exception{   xxx   }

    模板变量名与方法的参数名一致时,@PathVariable可省略别名的定义。

    @GetMapping(“/users/{ id} /roles / {roleid}”)

    public Role getUserRole( @PathVariable long id, @PathVariable long roleid) throws exception{   xxx   }

    注:当参数是非必须时,@PathVariable可设置属性require = false

    8、@RequestParam 注解 将方法的参数与web请求传递的参数进行绑定,可访问HTTP请求参数的值

    @GetMapping

    public Role getUserRole( @RequestParam(name="id") long id, @RequestParam(name="roleid") long roleid) throws exception{   xxx   }

    其他属性与PathVariable相同,当传递额参数为空时,可通过defaultValue 设置默认值

    @GetMapping

    public Role getUserRole( @RequestParam(name="id",defaultValue = "0") long id, @RequestParam(name="roleid",defaultValue = "0") long roleid) throws exception{   xxx   }

    9、@ModelAttribute   注解可通过模型索引名称来访问已经存在于控制器中的model,用法与@PathVariable、@RequestParam类似

    当@ModelAttribute注解方法时,spring会将方法的返回值绑定到具体的model上。先执行@ModelAttribute标注的方法再执行具体的处理方法

    10、@CrossOrigin  注解将为请求处理类或处理方法提供跨域调用支持

    11、@ControllerAdvice  :包含@Component ,统一处理异常

    12、@ExceptionHandler(Exception.class):用在方法上表示遇到这个异常就执行以下方法

  • 相关阅读:
    搭建页面:数据库的增删改查
    阿里云的使用运维安装
    promis:异步编程
    微信开发笔记
    细数那些带打赏功能的平台
    写给自己的TypeScript 入门小纲
    Node.js自学笔记之回调函数
    来简书坚持一个月日更之后
    全选或者单选checkbox的值动态添加到div
    一个前端妹子的悲欢编程之路
  • 原文地址:https://www.cnblogs.com/blackdd/p/12322332.html
Copyright © 2020-2023  润新知