SpringWeb常见 注解

51 阅读2分钟
  • Spring(SpringBoot)

    • 声明Bean注解

      • @Component
      • @Controller / @RestController
      • @Service
      • @Repository
      • @mapper
    • DI依赖注入注解

      • @Autowired : 默认根据类型进行注入

      • 同类型下多个bean解决(优先实现)

        • @Primary
        • @Autowired + @Qualifier("xxx")
        • @Resource(name="xxx")(非spring自带注解)


-   @SpringBootApplication
-   

    -   声明启动类/引导类注解

    -   组件扫描, 默认扫描当前包及其子包
    @MapperScan(basePackages = "xxxx(那个包下的路径)")
   -@MapperScan`专用于MyBatis Mapper接口扫描 @ComponentScan` 用于Spring组件扫描

-

-   其他注解

    -   请求参数

        -   @RequestParam("id") : 将前端传递的请求参数, 绑定给方法形参 ;

           前端传递的参数名 与 方法形参名 不一致 .
             
  • @RequestParam("id") : 属性如下
    1 .value或者name:表示指定请求参数的名称
    2 .required() 表示参数是否为必须,默认值true. 3 .defaultValue() 如果required属性为false时,可以通过该属性为参数指定默认值

     -   @RequestBody
    
         -   将前端传递的json格式的数据封装到对象/集合中
    
     -   @PathVariable
    
         -   获取路径变量
    
    • 请求路径

      • @RequestMapping(类上,方法上都行)

      • @PostMapping 增

      • @DeleteMapping 删

      • @PutMapping 改

      • @GetMapping 查

  • Mybatis

    • @Mapper

      • 声明当前就是mybatis的一个持久层的接口,Mapper接口。

      • 将实现类对象(代理对象)交给IOC容器管理, bean对象

写sql语句时应用

-   @Insert

-   @Select

-   @Update

-   @Delete

Logback:记录项目运行中的日志信息,方便调试、排错、监控.......
@Slf4j
提供日志

四、动态SQL

<where>
    <if test="条件">
        条件成立,这里的SQL会进行拼接
    </if>
</where>

where标签内部的SQL生效,会为SQL加上where关键字,同时会去除拼接SQL最前面的多余的AND或者OR

@DateTimeFormat(pattern = "yyyy-MM-dd")

// yyyy-MM-dd 为前端传递的时间格式

image.png

@MapperSan作用与功能

  1. 自动发现 Mapper 接口
    无需手动逐个注册 Mapper 接口,Spring 启动时会自动扫描指定包路径下的所有 Mapper 接口。
  2. 生成代理实现类
    为扫描到的 Mapper 接口自动创建动态代理对象,并注入到 Spring 容器中。
  3. 简化配置
    替代 XML 配置中的 <mybatis:scan> 或手动声明 @Mapper 的方式。