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规则执行。