All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.jdevelops.util.jwt.util.JwtContextUtil Maven / Gradle / Ivy

Go to download

jwt 工具 使用的是[jose4j](https://bitbucket.org/b_c/jose4j/src) [jwt](https://bitbucket.org/b_c/jose4j/wiki/JWT%20Examples) [tokenSecret加密方式 hmacsha256 ](http://www.jsons.cn/allencrypt/)

The newest version!
package cn.jdevelops.util.jwt.util;

import org.springframework.beans.BeansException;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

/**
 * 获取上下文
 * @author tn
 * @version 1
 *
 * @date 2020/6/19 15:30
 */
@Component
@ConditionalOnMissingBean(JwtContextUtil.class)
public class JwtContextUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        if(JwtContextUtil.applicationContext == null) {
            JwtContextUtil.applicationContext = applicationContext;
        }
    }

    /**
     * 获取applicationContext
     * @return ApplicationContext
     */
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }

    /**通过name获取 Bean.
     * @param name bean名字
     * @return Bean
     */
    public static Object getBean(String name){
        return getApplicationContext().getBean(name);
    }

    /**通过class获取Bean.
     * @param clazz class
     * @param  泛型
     * @return Bean
     */
    public static  T getBean(Class clazz){
        return getApplicationContext().getBean(clazz);
    }

    /**通过name,以及Clazz返回指定的Bean
     * @param name Bean名字
     * @param clazz class
     * @param  泛型
     * @return Bean
     */
    public static  T getBean(String name, Class clazz){
        return getApplicationContext().getBean(name, clazz);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy