Spring 常用注解
- SpringBootApplication
- Configuration
- MapperScan("com.alibaba.mapper")
- EnableScheduling
- Override
- Overload
- Component
- Slf4j
- Controller
- ResponseBody
- RestController
- RequestMapping("/user")
- Service
- Transactional(rollbackFor = Exception.class)
- Value("${base.path}")
- Autowired(required = false)
- Resource(required = false)
- Repository
- Table(name = "sys_user")
- TableField("meeting_type")
- TableField(exist = false)
- Entity
- Data
- Accessors(chain = true)
- EqualsAndHashCode(callSuper = false)
- AllArgsConstructor
- Excel(name = "名称", width = 20)
- ExcelIgnore
- Date_格式化
SpringBootApplication
启动Application
@SpringBootApplication
Configuration
配置spring并启动spring容器
@Configuration
MapperScan(“com.alibaba.mapper”)
扫描Mapper包
@MapperScan
EnableScheduling
定时任务
@EnableScheduling
Override
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。
重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Exception 是 IOException 的父类,只能抛出 IOException 的子类异常。
重写
@Override
Overload
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
最常用的地方就是构造器的重载。
重载规则:
被重载的方法必须改变参数列表(参数个数或类型不一样);
被重载的方法可以改变返回类型;
被重载的方法可以改变访问修饰符;
被重载的方法可以声明新的或更广的检查异常;
方法能够在同一个类中或者在一个子类中被重载。
无法以返回值类型作为重载函数的区分标准。
重载
@Overload
重载 重写 区别 | 重载方法 | 重写方法 |
---|---|---|
参数列表 | 必须修改 | 一定不能修改 |
返回类型 | 可以修改 | 一定不能修改 |
异常 | 可以修改 | 可以减少或删除, 一定不能抛出新的或者更广的异常 |
访问 | 可以修改 | 一定不能做更严格的限制 (可以减低限制) |
Component
实现Bean组件定义
@Component
Slf4j
用于标注日志
@Slf4j
Controller
返回到指定页面
@Controller
ResponseBody
返回JSON
@ResponseBody
RestController
相当于@ResponseBody + @Controller合在一起的作用
@RestController
RequestMapping("/user")
method 路径
@RequestMapping
Service
用于标注业务类
@Service
Transactional(rollbackFor = Exception.class)
用于标注事务管理器
@Transactional
Value("${base.path}")
注入参数
@Value
Autowired(required = false)
bean装配
@Autowired
Resource(required = false)
bean装配
@Resource
Repository
用于标注DAO类
@Repository
Table(name = “sys_user”)
对应数据库表名
@Table
TableField(“meeting_type”)
对应数据库字段
@TableField
TableField(exist = false)
定义费持久化字段
@TableField
Entity
用于标注Bean类
@Entity
Data
@Data相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集
@Data
Accessors(chain = true)
@Accessors(fluent = true)
@Accessors(chain = true)
@Accessors(prefix = “p”)
@Accessors
EqualsAndHashCode(callSuper = false)
@EqualsAndHashCode(callSuper = true) 注解的作用就是将其父类属性也进行比较
-
此注解会生成equals(Object other) 和 hashCode()方法。
-
它默认使用非静态,非瞬态的属性
-
可通过参数exclude排除一些属性
-
可通过参数of指定仅使用哪些属性
-
它默认仅使用该类中定义的属性且不调用父类的方法
-
可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。
@EqualsAndHashCode
AllArgsConstructor
构造函数含有所有已声明字段属性参数
@AllArgsConstructor
Excel(name = “名称”, width = 20)
Excel对应列名
@Excel
ExcelIgnore
忽略项
@ExcelIgnore
Date_格式化
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")