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 从容器中获取(声明在启动类上方)
@Autowired 从容器中获取,完成自动装配的工作(在属性上面声明,可以对属性成员变量进行自动赋值操作)
三、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") 用于格式化实体类字段日期时间(声明在实体类字段上面)