解读启动类注解(二)

1、启动类注解

a、@EnableJpaAuditing

@EnableJpaAuditing --> Spring JPA 注解

1、这个注解的作用是实现审计功能

2、使用方法:

  • 实体类上添加 @EntityListeners(AuditingEntityListener.class)
  • 在需要的字段上加上 @CreatedDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy 等注解。
    1. @CreateDate
      表示该字段为创建时间时间字段,在这个实体被 insert 的时候,会设置默认值
    2. @CreatedBy
      表示该字段为创建人,在这个实体被insert的时候,会设置值。
    3. @LastModifiedDate、@LastModifiedBy同理**。
  • 在Xxx Application 启动类上添加 @EnableJpaAuditing
  • 实现 AuditorAware 接口来返回你需要插入的值。重点!

3、详细了解及使用

4、扩展 Option 类

  • java 8 引入,可以解决空指针异常问题,使代码编写更加简洁。

  • Option的使用

    1. 创建实例,

      • 这个类型的对象可能包内含值,也可能为空。
      @Test(expected = NoSuchElementException.class)
      public void whenCreateEmptyOptional_thenNull() {
          Optional<User> emptyOpt = Optional.empty();
          emptyOpt.get();
      }
      

      毫不奇怪,尝试访问 emptyOpt 变量的值会导致 NoSuchElementException

      • 你还可以通过of() 和 ofNullable()创建,他们两者的区别在于:如果你把null值作为参数传递进去of()会抛出 NullPointException

        @Test(expected = NullPointerException.class)
        public void whenCreateOfEmptyOptional_thenNullPointerException() {
            Optional<User> opt = Optional.of(user);
        }
        

        如果对象可能是null,也可能是非null,建议使用ofNullable()方法

    2. 访问Option的值

      • 取值问题
      @Test
      public void whenCreateOfNullableOptional_thenOk() {
          String name = "John";
          Optional<String> opt = Optional.ofNullable(name);
      
          assertEquals("John", opt.get());  //判断是否相等,值为null时,会中断抛出异常。
      }
      
    3. Optional容器的详细使用

b、@EnableScheduling

@EnableScheduling --> 定时任务

1、使用方法

  • 要在任务的类上写@Component

  • 要在任务方法上写@Scheduled

  • 可以在方法上使用一些定时方法

    1. //表示方法执行完成后5秒 --》 在任务完成后,也会执行多次
          @Scheduled(fixedDelay = 5000)
      
    2. //表示每隔3秒 --》  可以执行多次
          @Scheduled(fixedRate = 3000)
      
    3. //表示每天8时30分0秒执行
         @Scheduled(cron = "0 0,30 0,8 ? * ? ")
      
    4. Corn特殊含义及用法

c、@EnableAsync

@EnableAsync --> 可以使用多线程
  1. @Async加在线程任务的方法上(需要异步执行的任务),定义一个线程任务,通过spring提供的ThreadPoolTaskExecutor就可以使用线程池 .
  2. 使用前首先要定义配置类详情参考 @Async注解

d、@EnableJpaRepositories

@EnableJpaRepositories --> 发现实体,发现包
  1. 用于发现和使用Entity 和 Reopsitory ,用于取代xml形式的配置文件,可以简单理解为注入。
  2. 详细参考及使用规则
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值