第一步 加注解
@Component
第二步
@Autowired
private IndexService indexService;
public static rxd rxd;
@PostConstruct
public void init() {
rxd = this;
rxd.indexService=indexService;
}
初始化容器
//举例
rxd.indexService.find(map);
//在多线程中无法使用 @Autowired
//代码
@Service
public class ManageSpringBeans implements ApplicationContextAware {
private static ApplicationContext context;
public static <T> T getBean(final Class<T> requiredType) {
return context.getBean(requiredType);
}
public static <T> T getBean(final String beanName) {
@SuppressWarnings("unchecked")
final T bean = (T) context.getBean(beanName);
return bean;
}
public static <T> Map<String, T> getBeans(final Class<T> requiredType) {
return context.getBeansOfType(requiredType);
}
public static Map<String, Object> getBeansWithAnnotation(final Class<? extends Annotation> annotationType) {
return context.getBeansWithAnnotation(annotationType);
}
@Override
public void setApplicationContext(final ApplicationContext applicationContext) {
context = applicationContext;
}
}
//之后在业务层 获取bean
IndexService indexService = ManageSpringBeans.getBean("indexServiceImp");
int sava = indexService.sava();
//需要注意的是 indexServiceImp , 获取的是@Service注解下的bean ,而并不是接口!