使用工具類處理調用 直接調用就不會走代理了
@Component public class SpringContextUtil implements ApplicationContextAware { // Spring應用上下文環境 private static ApplicationContext applicationContext; /** * 實現ApplicationContextAware接口的回調方法,設置上下文環境 */ public void setApplicationContext(ApplicationContext applicationContext) { SpringContextUtil.applicationContext = applicationContext; } /** * @return ApplicationContext */ public static ApplicationContext getApplicationContext() { return applicationContext; } /** * 獲取對象 * @param name * @return Object */ public static Object getBean(String name) throws BeansException { return applicationContext.getBean(name); } /** * 通過類型獲取對象 * @param t 對象類型 */ public static <T> T getBean(Class<T> t) throws BeansException { return applicationContext.getBean(t); } }
示例
User user = SpringContextUtil.getBean(UserService.class).getByUid(uid);