当前位置: 首页 > 知识库问答 >
问题:

JAVAlang.IllegalArgumentException:在启动存储库bean时不是托管类型:类

金晗日
2023-03-14

嗨,我正在尝试在spring启动应用程序的启动时加载一些html" target="_blank">数据库值。我有自动连线服务,在服务中我有自动连线Dao。下面是错误。

组织。springframework。豆。工厂UnsatifiedDependencyException:创建名为“validationExpressionService”的bean时出错:通过字段“validationExpressionDao”表示的未满足的依赖项;嵌套的异常是org。springframework。豆。工厂BeanCreationException:创建名为“IValidationExpressionDao”的bean时出错:调用init方法失败;嵌套的异常是java。lang.IllegalArgumentException:不是托管类型:类com。瑞尔。nfg。刀。豆验证表达式

我已经添加了@EnitityScan@EnableJPARepository供参考,主键在字符串中,希望可以。

实体

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * The Class ValidationExpression.
 */
package com.ril.nfg.dao.bean;

@Entity
@Table(name = "VALIDATION_EXPRESSION")
public class ValidationExpression implements Serializable {


    private static final long serialVersionUID = 9096950800262493651L;

    private String validationId;
    private String expression;
    private String createdBy;
    private Date createdOn;
    private String description;
    private String responseCode;

     @Id
     @Column(name = "VALIDATION_ID", nullable = false, length = 100)
    public String getValidationId() {
        return validationId;
    }

    public void setValidationId(String validationId) {
        this.validationId = validationId;
    }

     @Column(name = "EXPRESSION", nullable = false, length = 200)
    public String getExpression() {
        return expression;
    }

    public void setExpression(String expression) {
        this.expression = expression;
    }
//remaining getters and setters
}

存储库

package com.ril.nfg.dao.repos;

import com.ril.nfg.dao.bean.ValidationExpression;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

/**
 * The Interface IValidationExpressionDao.
 */
@Repository
public interface IValidationExpressionDao extends JpaRepository<ValidationExpression, String> {
}

服务

import java.util.List;

@Service
public class ValidationExpressionService {

    @Autowired
    IValidationExpressionDao validationExpressionDao;

    public List<ValidationExpression> getAll() {
        return validationExpressionDao.findAll();
    }
}

使用@Autwired服务初始化

public class CacheModuleParam implements ApplicationContextAware{

private static List<ValidationExpression> validationExpressionList = null;

@Autowired
    ValidationExpressionService validationExpressionService;

@Override
    public void setApplicationContext(final ApplicationContext appContext) throws BeansException {
validationExpressionList = validationExpressionService.getAll();
}
}

应用程序类

@ComponentScan(basePackages = {"com.ril.nfg"})
@EnableWebMvc
@EnableAutoConfiguration
@SpringBootApplication//(exclude={DataSourceAutoConfiguration.class})
@EnableJpaRepositories(basePackages="com.ril.nfg.dao.repos",entityManagerFactoryRef="oracleEntityManagerFactory")
//@EntityScan(basePackages = "com.ril.nfg.dao.bean")
public class NFGApplication {

    public static void main(String[] args) {
        SpringApplication.run(NFGApplication.class, args);
    }

}

互联网上的所有解决方案都集中在@EntityScan上。请帮助我理解这个代码有什么问题。提前感谢

共有1个答案

洪涵亮
2023-03-14

你为什么有这些配置?只需将我们的应用程序放在包树中,比所有其他类高一级,您就可以使用这样的类:

@SpringBootApplication
public class NFGApplication {

    public static void main(String[] args) {
        SpringApplication.run(NFGApplication.class, args);
    }

}

包装:

com.ril.nfg <- here you put NFGApplication

以及com子包中的所有其他类。瑞尔。nfg

然后一切都会成功的!

 类似资料:
  • 我正在使用和。它在这里 我有一个像这样的域名。而且,似乎不推荐使用注释,所以我使用了。 类如下所示 使用该类的如下所示 但当我启动应用程序时,我得到了错误 问题出在哪里?

  • 问题内容: 我使用Spring boot + JPA,启动服务时遇到问题。 这是Application.java文件, 我使用UCp进行连接池,下面是DataSource配置, UserDetailsService Implementation, Service layer implementation, The repository class, @Repository Entity class

  • 我正在创建两个不同的数据源的Spring引导应用程序。我已经为单独的数据库创建了配置文件。对于每个数据库,实体在不同的包中,模型在不同的包中。当我跑的时候 mvn清洁安装 它正确地创建数据库和所有表。但是在创建存储库时总是失败。下面我提供所有必要的细节: 主类 Application.Properties 有人能帮忙吗?我缺少了什么参数,或者我在这里做错了什么?提前感谢!

  • 我使用spring boot+JPA,在启动服务时遇到了一个问题。 下面是application.java文件, 我使用UCp进行连接池,数据源配置如下所示, UserDetailsService实现, 服务层实现, repository类, 实体类, WebSecurityConfig类, 这些包如下所示, 类在-中 类在-中 实体类在- 服务类在- 控制器在- 存储库类在-中 在-中 谢谢

  • 问题内容: 有人知道提供OBR托管我自己的捆绑包的任何服务吗? 像github一样的东西-但用于捆绑包。 (如果没有,那么是否有人创建了自己的OBR服务器,这有多难?) 编辑:我找到了Nexus Pro的一种解决方案,但对于普通人来说似乎太昂贵了(因为专业人士的价格无处可寻)。 问题答案: SpringSource,Apache Sling 和OSGi联盟都有存储库,ServiceMix拥有自己的

  • 我有一个小型开源图书馆的分叉,我正在github上工作。我想通过maven让其他开发人员可以使用它,但是我不想运行我自己的Nexus服务器,因为它是一个分叉,所以我不能轻松地将它部署到oss.sonatype.org. 我想做的是将它部署到github,这样其他人就可以使用maven访问它。最好的方法是什么?