package pwc.taxtech.atms.common.util; import org.apache.ibatis.session.SqlSessionFactory; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; import pwc.taxtech.atms.dao.OrganizationMapper; import pwc.taxtech.atms.dao.UserMapper; import pwc.taxtech.atms.service.impl.DistributedIdService; import java.util.HashMap; import java.util.Map; //用来获取spring托管的bean @Component public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext webApplicationContext; public static DistributedIdService distributedIdService; public static OrganizationMapper organizationMapper; public static UserMapper userMapper; public static Map map = new HashMap<String, Object>(); public static SqlSessionFactory sqlSessionFactory; /** * 获取bean * * @param requiredType * @param <T> * @return */ public static <T> T getBean(Class<T> requiredType) { return SpringContextUtil.webApplicationContext.getBean(requiredType); } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { webApplicationContext = applicationContext; distributedIdService = webApplicationContext.getBean(DistributedIdService.class); userMapper = webApplicationContext.getBean(UserMapper.class); sqlSessionFactory = webApplicationContext.getBean(SqlSessionFactory.class); } }