• springboot静态工具类bean的注入


    工具类中调用数据。但是由于工具类方法一般都写成static,所以直接注入就存在问题。

    所以写成了这样:

    package com.rm.framework.core;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.ConfigurableApplicationContext;
    import org.springframework.stereotype.Component;
    import org.springframework.web.context.WebApplicationContext;
    
    import javax.annotation.PostConstruct;
    
    @Component
    public class RivuDataContext {
    
    	/** 应用上下文 */
    	public static String webRoot = "/r3";
    	/** 应用上下文 */
    	public static String cookieNameLoginToken = "LoginToken";
    	
    	/** 当前线程用户名 */
    	public final static String USER_SESSION_NAME = "curUser";
    	
    	/** spring上下文 */
    	@Autowired
    	private  ConfigurableApplicationContext applicationContext;
    
    	private static 	RivuDataContext rivuDataContext;
    
    	@PostConstruct
    	public void init() {
    		rivuDataContext = this;
    		rivuDataContext.applicationContext = this.applicationContext;
    
    	}
    
    	public static void setApplicationContext(ConfigurableApplicationContext webApplicationContext) {
    		rivuDataContext.applicationContext= webApplicationContext;
    	}
    
    	public static ConfigurableApplicationContext getApplicationContext() {
    		return rivuDataContext.applicationContext;
    	}
    	
    	public static Object getBean(String beanName){
    		return rivuDataContext.applicationContext.getBean(beanName);
    	}
    }
    

      

  • 相关阅读:
    C++设计模式 ==> 装饰(者)模式
    基于路由器的VRRP技术--VRRP的应用
    基于路由器的VRRP技术--VRRP的应用
    C++设计模式 ==> 策略模式与简单工厂模式结合
    C++设计模式 ==> 简单工厂模式
    DVWA之Insecure Captcha
    DVWA之Insecure Captcha
    DVWA之File Inclusion
    DVWA之File Inclusion
    DVWA之XSS
  • 原文地址:https://www.cnblogs.com/q1359720840/p/13928505.html
Copyright © 2020-2023  润新知