相关疑难解决方法(0)

Spring boot - 不是托管类型

我使用Spring boot + JPA并在启动服务时遇到问题.

Caused by: java.lang.IllegalArgumentException: Not an managed type: class com.nervytech.dialer.domain.PhoneSettings
    at org.hibernate.jpa.internal.metamodel.MetamodelImpl.managedType(MetamodelImpl.java:219)
    at org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.<init>(JpaMetamodelEntityInformation.java:68)
    at org.springframework.data.jpa.repository.support.JpaEntityInformationSupport.getMetadata(JpaEntityInformationSupport.java:65)
    at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getEntityInformation(JpaRepositoryFactory.java:145)
    at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:89)
    at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:69)
    at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:177)
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:239)
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:225)
    at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:92)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1625)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1562)
Run Code Online (Sandbox Code Playgroud)

这是Application.java文件,

@Configuration
@ComponentScan
@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class })
@SpringBootApplication
public class DialerApplication {

    public static void main(String[] args) {
        SpringApplication.run(DialerApplication.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用UCp进行连接池,DataSource配置如下,

@Configuration
@ComponentScan
@EnableTransactionManagement
@EnableAutoConfiguration
@EnableJpaRepositories(entityManagerFactoryRef = "dialerEntityManagerFactory", transactionManagerRef = "dialerTransactionManager", basePackages = { "com.nervy.dialer.spring.jpa.repository" })
public class ApplicationDataSource { …
Run Code Online (Sandbox Code Playgroud)

spring jpa spring-mvc spring-data spring-boot

100
推荐指数
14
解决办法
19万
查看次数

'字段需要一个无法找到的bean类型.使用mongodb错误弹簧restful API

所以我一直在学习一周中的Spring,一直在学习本教程

构建RESTful Web服务

一切顺利,直到我试图将它整合到mongodb.所以我按照本教程.

使用MongoDB访问数据

但我的做法部分仍在使用第一个.所以我的项目目录结构是这样的.

src/
??? main/
?   ??? java/
|       ??? model/
|       |   ??? User.java
|       ??? rest/
|       |   ??? Application.java
|       |   ??? IndexController.java
|       |   ??? UsersController.java
|       ??? service/
|           ??? UserService.java
??? resources/
    ??? application.properties
Run Code Online (Sandbox Code Playgroud)

这是我的model/User.java文件

package main.java.model;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection="user")
public class User {

    private int age;
    private String country; 
    @Id
    private String id;
    private String name;


    public User() {
        super();
    }

    public String getId() { …
Run Code Online (Sandbox Code Playgroud)

java rest spring mongodb

68
推荐指数
14
解决办法
16万
查看次数

其他包中的@RestController不起作用

我从学习Spring开始,创建基本项目,创建数据库,插入值,然后在Web浏览器中打印.我的问题是,当我将RestController放在像主类一样的包中时 - 它可以,但我想将它分发给其他包,当我创建新包时,移动RestController它不起作用.让我们解释一下:

我的项目看起来像:

          |-Springtestv_01
            |-src/main/java
              |--com.person <-- it's a main package
                 |-Main.java
                 |-Person.java
                 |-PersonLineRunner.java
                 |-PersonRepository.java
                 |-PersonController.java
              |-com.controller <-- second package, I want put here PersonController.java
            |-src/main/resources
              |-data.sql
            pom.xml
Run Code Online (Sandbox Code Playgroud)

我的控制器看:

@RestController
public class PersonController {

    @Autowired PersonRepository personRepository;

    @RequestMapping("/persons")
    Collection<Person> persons(){
        return this.personRepository.findAll();
    }
}  
Run Code Online (Sandbox Code Playgroud)

当所有东西都在com.person包装中时,我写在网页浏览器http:// localhost:8080 /个人并且它正常工作......但我想转移PersonController.javacom.controller包装,当我移动它时,我的网页浏览器打电话给我

出现意外错误(type = Not Found,status = 404).没有可用的消息

我不知道应该怎么做才能修复它.也许我应该改变一些事情pom.xml

我的pom.xml看起来像

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.person</groupId>
    <artifactId>person</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>SpringTest_v0_1</name> …
Run Code Online (Sandbox Code Playgroud)

java spring package maven spring-restcontroller

27
推荐指数
4
解决办法
3万
查看次数