• 常用注解(@)


     在这里总结一些常用注解,目的是为了在读别人的代码或自己写代码时带来方便。还不全 待完成。

    基础:

    @Controller 控制层
    @RestController 控制层:如不需要返回页面 可以用这个 = @ResponseBody + @Controller 这个控制层里面就不需要再写 @ResponseBody注解了
    @ControllerAdvice controller增强器,在SpringBoot中可直接使用。(@RestControllerAdvice 也类似)最常用的地方就是:
        1.异常处理Controller ,与注解 @ExceptionHandler(xxxException.class)配合使用,可有多个方法不同方法处理不同异常。
        2.与注解 @ModelAttribute 配合使用,在执行目标 Controller 方法前调用 该方法。可做全局数据绑定。
        3.与注解 @InitBinder 配合使用,全局数据预处理,
    @ResponseBody 一般用于控制层 把java 对象转成json对象返回到前台
    @RequestMapping("/xxxx") 一般用于控制层 处理请求与方法之间的映射关系
    @GetMapping = @RequestMapping(method = RequestMethod.GET)从服务器取出资源
    @PostMapping = @RequestMapping(method = RequestMethod.POST)在服务器新建一个资源
    @DeleteMapping = @RequestMapping(method = RequestMethod.DELETE)从服务器删除资源
    @PutMapping = @RequestMapping(method = RequestMethod.PUT)在服务器更新资源
    @Autowired 依赖注入byType,spring 自带,默认对象必须存在,不存在可以设置required=false。如果想用byName可以与@Qualifier一起使用。
    @Service 业务层
    @Repository 数据访问层,DAO层会用到
    @Qualifier 如注入时找到多个相同类型的bean,可以通过这个注解指定装配哪个bean。比如:@Service里面的名字写到@Qualifier中。 放在调用的方法上面。
    @Primary 如注入时找到多个相同类型的bean,可以通过这个注解指定默认注入哪一个。放在默认被调用的方法上面。
    @Resource 依赖注入默认byName,可指定name和type,不是spring的注解(javax.annotation.Resource)但spring支持该注解。

     例子:

    @Autowired
    @Qualifier(value = "xxx")
    @Component 把Bean注入到spring容器中,让spring管理。泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
    @Order(xxx) Spring容器加载Bean的顺序 @Order(-1000)优先于 @Order(-1)
    @DependsOn("xxx") 类上方法上初始化的顺序,顾名思义,该类或方法需要另一个类方法的支撑,在加载之前先加载xxx。
    @Override 重写父类的方法
    @Scope(x) spring中Bean 默认为单例。
       singleton 单例模式。一个实例、
       prototype 原型模式。每次获取都有一个新的实例、
       request、Bean在每一次http request中是单例。每一次HTTP请求都会产生一个新的bean。spring web
       session、Bean在每一次http session中是单例每一次HTTP请求都会产生一个新的bean。spring web
       globalsession 类似于标准的HTTP Session作用域,不过它仅仅在基于portlet的web应用中才有意义。
    @Bean 把Bean对象交给Spring管理,与@Configuration 注解配合使用
    @Configuration 类级别的注解,用于定义配置类,可替换xml配置文件。
      xml中: <bean/> 对应Java中@Bean 实例化bean、
      xml中: <context:component-scan/> 对应Java中@ComponentScan 等等
      类不可以是final类型、不可以是匿名类、嵌套的configuration必须是静态类
    @ComponentScan("com.xxx.xxx.xxx") 扫描包下的所有组件
    @PathVariable("xxxx")把url中的{xxx} 绑定到方法中

    @RequestParam 请求参数绑定到控制器方法上,
      第一个参数是参数的名字,第二个参数默认true ,请求路径中如果不包含该参数报错,第三个参数defaultValue 默认值,没传这个参数取默认值。

    mybatis:

    @Param 一般用于mapper,与xxxmapper.xml中的参数对应。import org.apache.ibatis.annotations.Param;
    @Insert (insert into xxxx) 增
    @Delete (xxxx) 删
    @Update (xxxx)改
    @Select (xxxx)查

    @

  • 相关阅读:
    Day12 文件操作
    Day11 集合、集合操作
    Day10 【小程序】商城管理(购物车小程序的增强版)
    Day8 字符串操作
    Day9 字典操作
    文件操作
    【python练习】购物车程序
    2296 寻找道路
    2661 信息传递(tarjan&拓扑)
    【模板】LCA(tarjan)
  • 原文地址:https://www.cnblogs.com/DarGi2019/p/13565020.html
Copyright © 2020-2023  润新知