spring框架学习(9)常用注解

序言

 

@NotEmpty  用在集合类上面

@NotBlank  用在String上面

@NotNull 用在基本类型上

@Nullable 如果可以传入NULL值,则标记为@Nullable,如果不可以,则标注为@Nonnull

 

在Java中,volatile、synchronized和final是三个非常重要的关键字,它们都与并发编程密切相关。

 

Java中自定义注解介绍与使用场景详解

https://www.cnblogs.com/liangweiping/p/3837332.html

@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface SoaNode {
    String ProductName();

    String ServiceName();

    String MethodName();

    int Timeout() default 6000;

    int RetryCount() default 0;
}
View Code

@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)

 

@Around

是环绕通知,既可以控制入参,还可以控制原方法的执行和返回值

 

TransmittableThreadLocal

private TransmittableThreadLocal<Boolean> threadLocal = new TransmittableThreadLocal<>();

TransmittableThreadLocal是阿里巴巴开源的一个线程本地存储类,它可以在使用线程池时,将线程本地存储的变量传递给子线程,从而避免了线程安全问题。TransmittableThreadLocal通过重写线程池的线程创建和销毁方法,实现了线程本地存储的传递。

 

synchronized

写法一修饰的是一个方法,写法二修饰的是一个代码块,但写法一与写法二是等价的,都是锁定了整个方法时的内容。

public synchronized void method()
{
   // todo
}

public void method()
{
   synchronized(this) {
      // todo
   }
}
View Code

 

 

资料

posted @ 2020-09-07 23:03  ~沐风  阅读(99)  评论(0编辑  收藏  举报