/**
* Prototype-method : Get service which is annotated with '@Service'.
*
* @param <T>
* @param serviceType
* @return Service of requested type, must not be casted.
* @throws RuntimeException
* when more than one service of the same type is registered. RuntimeException when servie is not annotated with '@Service'.
*
* *******not yet in use********
*/
private static <T> T getService(Class<T> serviceType) {
ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(CoreSpringFactory.servletContext);
Map<String, T> m = context.getBeansOfType(serviceType);
if (m.size() > 1) {
throw new OLATRuntimeException("found more than one service for: " + serviceType + ". Calling this method should only find one service-bean!", null);
}
T service = context.getBean(serviceType);
Map<String, ?> services = context.getBeansWithAnnotation(org.springframework.stereotype.Service.class);
if (services.containsValue(service)) {
return service;
} else {
throw new OLATRuntimeException("Try to get Service which is not annotated with '@Service', services must have '@Service'", null);
}
}
CoreSpringFactory.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:olat
作者:
评论列表
文章目录