Springboot静的プロパティの注入(ツールクラス注入xtemplate)

997 ワード

原文住所:https://www.cnblogs.com/wbxk/p/10676482.html
静的属性は直接注入することはできず,そのset法により注入することができる.(注意生成されたsetメソッドはstaticを削除する必要がある)
ツールクラスにRedisTemplateを直接注入するには、次の2つの方法があります.
(1)@Autowiredの使用
    private static RedisTemplate redisTemplate;

    @Autowired
    public void setRedisTemplate(RedisTemplate redisTemplate) {
        JwtUtil.redisTemplate = redisTemplate;
    }

(2)@Resourceの使用
    private static RedisTemplate redisTemplate;

    @Resource
    public void setRedisTemplate(RedisTemplate redisTemplate) {
        JwtUtil.redisTemplate = redisTemplate;
    }

次に、このツールクラスをspring管理のbeanとして使用する必要があります.そうしないと、注入に成功しません.
このツールクラスに注記@Componentを追加するだけです
完全なサンプルコード:
@Component
public class JwtUtil {

   private static RedisTemplate redisTemplate;

    @Autowired
    public void setRedisTemplate(RedisTemplate redisTemplate) {
        JwtUtil.redisTemplate = redisTemplate;
    }
}

そして正常に使えます.