一、解决方法有以下两种
1、方法一
1.将该类加上@Component注解
2.定义一个静态的service类
3.写一个setService方法,方法上加上@Autowired注解,方法中写上util.service = 方法的形参
2、方法二
-
提供一个公共的serviceBeanUtil类,专门用来获取serviceBean对象
/**
* 通过该类即可在普通工具类里获取spring管理的bean
* @author wolf
*
*/
public final class SpringTool implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if (SpringTool.applicationContext == null) {
SpringTool.applicationContext = applicationContext;
System.out.println(
"========ApplicationContext配置成功,在普通类可以通过调用ToolSpring.getAppContext()获取applicationContext对象,applicationContext="
+ applicationContext + "========");
}
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
public static Object getBean(String name) {
return getApplicationContext().getBean(name);
}
}
-
将该类加入配置文件中注册bean
<bean class="app.util.spring.SpringTool"/>
-
调用时,直接使用getBean()方法即可