#SpringBoot静的メンバー変数を挿入する2つの方法

SpringBootは2つの方法で静的メンバー変数を挿入します


@Autowiredアノテーションをsetメソッドに追加し、@ Componentアノテーションをクラス定義に追加します

  • 静的変数のsetterメソッドのstaticキーワードを削除する必要があります。そうしないと、注入が失敗します。
@Component
public class RedisClient {
    
    

    private static Logger logger= Logger.getLogger(String.valueOf(RedisClient.class));

    private static RedissonClient redissonClient;

    @Autowired(required = true)
    public void setRedissonClient(RedissonClient redissonClient){
    
    
        RedisClient.redissonClient=redissonClient;
        logger.info("redisclinet注入完成!");
    }

    public static void setList(){
    
    
        redissonClient.getList("one").add("two");
    }
}

@PostConstructを達成する方法

  • @PostConstructで注釈が付けられたメソッドは、クラスのコンストラクターがロードされた後、つまり、コンストラクターがロードされた後、initメソッドが実行されます。このメソッドは、xmlでinit-methodメソッドとdestroy-methodメソッドを構成するのと似ており、Beanが初期化されてコンテナーが破棄される前にSpringコンテナーが実行する操作を定義します。
@Component
public class RedisClient1 {
    
    
    
        @Autowired
        private static RedissonClient redissonClient;

        private static RedisClient1 redisClient1;

        @PostConstruct
        public void init() {
    
    
            redisClient1 = this;
            redisClient1.redissonClient= this.redissonClient;
        }
}

おすすめ

転載: blog.csdn.net/qq_37248504/article/details/108763378
おすすめ