
@Service 注解默認的 id 是該類的類名首字母小寫 (id = userServiceImpl)
在網上看到一個工具類來解決此問題
package com.xw.util;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* 普通類調用Spring注解方式的Service層bean
* Created by HZC on 2015/10/21.
*/
public class SpringBeanFactoryUtils implements ApplicationContextAware {
private static ApplicationContext appCtx;
/**
* 此方法可以把ApplicationContext對象inject到當前類中作為一個靜態成員變量。
*
* @param applicationContext ApplicationContext 對象.
* @throws BeansException
* @author hzc
*/
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
appCtx = applicationContext;
}
/**
* 獲取ApplicationContext
*
* @return
* @author hzc
*/
public static ApplicationContext getApplicationContext() {
return appCtx;
}
/**
* 這是一個便利的方法,幫助我們快速得到一個BEAN
*
* @param beanName bean的名字
* @return 返回一個bean對象
* @author hzc
*/
public static Object getBean(String beanName) {
return appCtx.getBean(beanName);
}
}
在spring中將此工具類注入
<bean id="springBeanFactoryUtils" class="com.xw.util.SpringBeanFactoryUtils"/>
在普通類中調用

