目前,变量服务
在我的控制器中@Autowired
。
我意识到我可以实现类<code>ParameteredType
org.springframework.beans.factory。BeanCreationException:创建名为“contentController”的bean时出错:注入自动连线依赖项失败;嵌套异常是org.springframework.beans.factory。BeanCreationException:无法自动连接字段:private com.fettergroup.cmt.service。VariableService是com.fettergroup.cmt.web.ContentController。可变服务;嵌套异常是org.springframework.beans.factory。BeanCreationException:创建名为“variableService”的bean时出错,该bean在ServletContext资源[WEB-INF/DispatcherServlet.xml]中定义:bean实例化失败;嵌套异常是org.springframework.bean。BeanInstantiationException:无法实例化bean类[com.fettergroup.cmt.service.VariableService]:构造函数引发了异常;嵌套异常为java.lang.ClassCastException:java.lang.Class不能强制转换为java.lang.reflect.ParameteredType
可变服务
public class VariableService extends EntityService {
public VariableService () {
super.setEntityRepository(new VariableRepository());
}
}
实体服务
public abstract class EntityService<T> {
public EntityRepository<T> entityRepository;
public T create(T entity) {
return entityRepository.create(entity);
}
public T update(T entity) {
return entityRepository.update(entity);
}
public void delete(T entity) {
entityRepository.delete(entity);
}
public void setEntityRepository(EntityRepository<T> entityRepository) {
this.entityRepository = entityRepository;
}
}
变量存储库
public class VariableRepository extends EntityRepository {
}
实体存储库
@Repository
public abstract class EntityRepository<T> {
//the equivalent of User.class
protected Class<T> entityClass;
@PersistenceContext(type= PersistenceContextType.TRANSACTION)
public EntityManager entityManager;
public EntityRepository () {
//Get "T" and assign it to this.entityClass
ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass();
this.entityClass = (Class<T>) genericSuperclass.getActualTypeArguments()[0];
}
/**
* Create this entity
* @param t
* @return
*/
public T create(T t) {
entityManager.persist(t);
return t;
}
/**
* Update this entity
* @param t
* @return
*/
public T update(T t) {
return entityManager.merge(t);
}
/**
* Delete this entity
* @param entity
*/
public void delete(T t) {
t = this.update(t);
entityManager.remove(t);
}
public void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
}
}
似乎您误用了参数化类型
。在<code>EntityRepository
public EntityRepository () {
//Get "T" and assign it to this.entityClass
ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass();
Type type = genericSuperclass.getActualTypeArguments()[0];
if (type instanceof Class) {
this.entityClass = (Class<T>) type;
} else if (type instanceof ParameterizedType) {
this.entityClass = (Class<T>) ((ParameterizedType)type).getRawType();
}
}
但是,此实现远未完成,因为您还应该处理 GenericArrayType
值以及嵌套的 ParameterizedType
。
EntityRepository不是ParameterizedType类型。此类仅扩展ParameterizedType。如果Spring通过cglib代理您的类,这也是可能的
我们需要检查班级的父母
public EntityRepository () {
//Get "T" and assign it to this.entityClass
Type genericSuperClass = getClass().getGenericSuperclass();
ParameterizedType parametrizedType = null;
while (parametrizedType == null) {
if ((genericSuperClass instanceof ParameterizedType)) {
parametrizedType = (ParameterizedType) genericSuperClass;
} else {
genericSuperClass = ((Class<?>) genericSuperClass).getGenericSuperclass();
}
}
entityClass = (Class<T>) parametrizedType.getActualTypeArguments()[0];
}
只是说,这对于确定实体类型来说是一个非常糟糕的设计。您应该执行以下操作,而不是依赖反射来推断其类定义。它不仅会消除该错误,而且总体上会更干净,在较低的级别上,比反射更快(这并不是一个真正的问题)。
@Repository
public abstract class EntityRepository<T>{
protected Class<T> entityClass;
public EntityRepository(Class<T> entityClass){
this.entityClass = entityClass;
}
//...
}
public class UserEntityRepository extends EntityRepository<User>{
public UserEntityRepository(){
super(User.class);
}
}
应用程序属性 我也试图改变mysql的版本仍然一样。我该怎么解决这个?
给出此SO线程中给出的最后一个示例。 我得到这个错误: 我应该使用jooq会满意的特殊映射器吗? 欢迎任何帮助 编辑: Jooq版本:3.14.3 Postgres:11 dto公司 我也尝试过使用SimpleFlatMapper 但是得到 我正在使用spring boot,以下是我对jackson的依赖: 堆栈跟踪:
MainActivity.java 对不起,我的英语很差。
我在这个问题上坚持了很长时间。我搜索了这个问题一段时间,但没有一个解决方案有效。 结构: 我也在使用
问题内容: 我有。我想使用获得最大结果。这是我的代码: 这是我的: 现在我得到了。怎么了? 问题答案: 您的错误可能在以下行中: 其中query.list()返回BigInteger列表而不是Long列表。尝试将其更改为。
我不是一个设计师,但当我得到这个项目,我不能打开特别的一些屏幕,我认为他们是屏幕,我们只重用一些布局已经创建。不管怎么说谁能帮帮我吗?@override public void onBindViewHolder(@nonnull final ProductsAdapter.ViewHolder holder,final int position){String imageUrl=ProductsL
我有一个用java实现的Web服务项目,它还包含jsp页面。我在我的机器上的jetty 8.1.5上部署它,它可以正常工作。但是当我使用jetty 8.1.3在windows server 2003上部署时,它会出现此异常: 这是完整的跟踪: 知道这个异常是什么吗?以及如何修复它?
在我的应用程序中,我为gcm ccs(xmpp)运行这些代码,代码显示以下错误执行时出错,这是代码: