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);
	}
}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM