我遇到一个问题,即在服务器启动时未正确将定义的存储库解释为Bean。具有@SpringBootApplication的类位于比定义的存储库更高的目录中,因此我无法找到为什么它没有配置。
@SpringBootApplication:
i = 0
for i in range(counterP):
g4 = numpy.reshape(numpy.random.random_integers(0, 1, size=matrix_sizeP), (vertex_countP, vertex_countP))
g5 = numpy.reshape(numpy.random.random_integers(0, 1, size=matrix_sizeP), (vertex_countP, vertex_countP))
G4 = nx.Graph(g4)
G5 = nx.Graph(g5)
G4G5 = iso.GraphMatcher(G4,G5)
isomP = G4G5.is_isomorphic()
if isomP is True:
ed = nx.number_of_edges(G4)
print("Iteration", i, ":", ed, "edges")
print(G4G5.mapping)
i = i + 1
else:
g5 = numpy.reshape(numpy.random.random_integers(0, 1, size=matrix_sizeP), (vertex_countP, vertex_countP))
G5 = nx.Graph(g5)
isomP = G4G5.is_isomorphic()
存储库
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.Properties;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
System.out.println("http://localhost:8080");
}
}
错误代码:
****************************应用程序开始失败**************** ***********
说明:
lab14.panoslab.Controllers.RegisterController中的字段userRepository 需要类型为'lab14.panoslab.Repositories.UserRepository'的bean 找不到。
操作:
考虑定义一个类型的bean 配置中的“ lab14.panoslab.Repositories.UserRepository”。
以退出代码1完成的过程
答案 0 :(得分:0)
您确定您的类Account
实现了接口User
吗?
并尝试删除注释@Repository
并在@EntityScan
类中添加注释@EnableJpaRepositories
和DemoApplication
:
@SpringBootApplication
@EntityScan({"lab14.panoslab.Models"})
@EnableJpaRepositories({"lab14.panoslab.Repositories"})
public class DemoApplication {...}
此外,我建议您将所有包重命名为小写并返回值List<Account>
,而不是List<User>
。
答案 1 :(得分:0)
我确实遇到过类似的问题。我犯的错误是,我将控制器/存储库和其他组件包放在了Main Class包之外。因此,Spring Boot无法识别我的组件,
对于Ex:,主类软件包是 package com.example.demo;
控制器包,例如 package com.example.controller;
存储库软件包,例如 package com.example.repository;
以下是解决此问题的两种不同方法 ,
在@ComponentScan中明确定义我的组件包,例如 @ComponentScan(basePackages =“ com.example.controller,com.example.repository”),其中包含必需组件的基本包。
否则,您可以在主软件包中创建Controller /存储库软件包。因此,您无需定义 @ComponentScan 以及全部。 例如,
主类软件包为 package com.example.demo;
控制器软件包,例如 package com.example.demo.controller;
存储库软件包,例如 package com.example.demo.repository;