spring注解说明

一、Spring boot注解

@SpringBootApplication 说明这是一个spring boot应用(里面定义启动方法,可以直接启动spring boot,一个@SpringBootApplication相当于:@Configuration、@EnableAutoConfiguration、@ComponentScan,并具有他们的默认属性值)

  @EnableAutoConfiguration 定义spring boot启动类

  @ComponentScan("com.demo") 控制器扫包范围注解(定义了以后,会在这个包范围内扫控制器)

 

二、Spring mvc注解

@Controller 说明这是一个控制器(控制器类上方声明)

@RestController 说明这是一个控制器,并且控制器的所有方法将返回JSON格式(控制器类上方声明)

@ResponseBody 方法将返回JSON格式(控制器的方法上面声明,有@RestController则不需要@ResponseBody)

@RequestMapping("/getUser") 定义方法的URL访问地址

@Value("${person.name}") 给属性赋值配置文件配置项数据(控制器类属性上面声明,配置文件在resources/application.yml)

@MapperScan("com.yutangzongcai.demo.mapper") 将包下面的mapper目录所有接口注入到容器中,以便@Autowired 从容器中获取(声明在启动类上方)

@Bean 把一个方法中返回的对象注入到springboot容器中,被@Bean注入的对象,将会在整个springboot生命周期内持久有效,@Bean注入的对象,可以被@Autowired注解获取并自动装配

@Autowired 从容器中获取,完成自动装配的工作(在属性上面声明,可以对属性成员变量进行自动赋值操作)

@PathParam("userId") 从路径中取参数,路径中的注解规则如:"/test/oneToOne/{userID}",使用如:@PathParam("userId") String userId

 

三、mybatis注解

@Transactional(rollbackFor=Exception.class) 事物处理,当出现异常时自动回滚,未出现异常时自动提交(声明在方法上方)

@Select 查询数据(声明在方法上方)

@Insert 插入数据(声明在方法上方)

@Update 更新数据(声明在方法上方)

@Delete 删除数据(声明在方法上方)

@Param("name") 接口方法传入参数到@Insert、@Select中使用(写在接口方法的成员变量类型前面),在@Insert中使用例如:#{name}

@Results 数据集结果处理(例如:将数据库字段名称与实体类成员属性名称不一致的字段修改成一致、一对一查询、一对多查询等),@Results注解里面有@Result注解(声明在方法上方)

@Result 数据集里面的字段结果处理(声明在@Results的value参数里面)

@ResultMap 引用结果集合(可以直接引用@Results注解里面id参数,达到@Results里面value复用的目的)

@SelectKey 获取最新插入id(声明在方法上方)

 

四、lombok注解

@Data 自动生成Entity类的set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法 (声明在类的上方)

@Getter 自动生成Entity类的get系列方法(声明在属性成员上方)

@Setter 自动生成Entity类的set系列方法(声明在属性成员上方)

@Value("${spring.datasource.username}") 用于注解final类,获取配置文件的数据(声明在属性成员上方)

 

五、FastJson注解

@JSONField(format = "yyyy-MM-dd HH:mm:ss") 用于格式化实体类字段日期时间(声明在实体类字段上面)

 

posted on 2021-12-17 10:01  鱼塘总裁  阅读(59)  评论(0编辑  收藏  举报