2. Spring 常用注解¶
@Component
public class BookDao {
...
}
使用 @Component 注解在 BookDao 类声明处对它进行标注,这样它就可以被 Spring 容器识别, 并把这个类转换为容器管理的 Bean
| 注解 | 说明 |
|---|---|
| @Repository | 标注 DAO 实现类。 |
| @Service | 标注 Service 实现类。 |
| @Controller | 标注 Controller 实现类。 |
| @Component | 标注 Bean 实现类。 |
| @Data | 注解在类上, 为类提供get()和set(), 此外还提供了 equals()、hashCode()、toString()方法。 |
| @Getter/@Setter | 注解在类上, 为类提供读写属性。 |
| @ToString | 注解在类上, 为类提供 toString() 方法 |
| @Slf4j | 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象 |
| @Log4j | 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象 |
2.1. @PostConstruct¶
被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。PreDestroy()方法在destroy()方法执行之后执行
2.1.1. @PostConstruct应用场景¶
在项目中@PostConstruct主要应用场景是在初始化Servlet时加载一些缓存数据等。
2.2. @Scheduled¶
需要在定时任务的类上加上注释:@Component,在具体的定时任务方法上加上注释@Scheduled,@EnableScheduling即可启动该定时任务
@Scheduled(fixedRate=3000):上一次开始执行时间点后3秒再次执行;
@Scheduled(fixedDelay=3000):上一次执行完毕时间点后3秒再次执行;
@Scheduled(initialDelay=1000, fixedDelay=3000):第一次延迟1秒执行,然后在上一次执行完毕时间点后3秒再次执行;
@Scheduled(cron="* * * * * ?"):按cron规则执行。